Cómo enumerar todos los servicios de Windows usando PowerShell o la línea de comandos

Las aplicaciones en ejecución que ve en su pantalla son una fracción de lo que sucede en Windows. Desde la administración de controladores de dispositivos hasta la garantía de la seguridad, una serie de procesos en segundo plano mantienen una PC con Windows en funcionamiento.

Para cualquier administrador de sistemas que supervise varias computadoras, es importante poder ver el estado de estos servicios críticos. El enfoque del Administrador de tareas es demasiado lento para esto y no puede automatizarlo con un script.

¿La solución? Herramientas de línea de comandos. Con el símbolo del sistema o PowerShell, puede obtener rápidamente una lectura de los servicios operativos de Microsoft que se ejecutan en un sistema, lo que lo ayuda a diagnosticar cualquier problema rápidamente.

Listado de servicios de Windows en el símbolo del sistema

Si bien no es tan flexible ni tan potente como Windows PowerShell, el símbolo del sistema sigue siendo una herramienta excelente para los administradores de sistemas. Puedes usar el consultaex comando para obtener el estado de los servicios activos y deshabilitados y luego use el comando taskkill para finalizar procesos molestos.

  1. Para usar el comando queryex, ejecute el símbolo del sistema como administrador. Puede encontrar la aplicación buscando cmd en el menú de inicio.
  1. Hay muchas formas de usar el comando sc queryex. Tipo y Estado son los dos parámetros más utilizados. Por ejemplo, ingrese el siguiente comando para ver todos los procesos de Windows:

sc queryex tipo=servicio estado=todos

  1. La vista predeterminada puede ser un poco abrumadora. Puede mostrar solo los nombres de los procesos para que la lista sea más fácil de analizar:

sc queryex type=service state=all | busque /i “NOMBRE_SERVICIO:”

  1. De forma predeterminada, el comando enumera todos los procesos activos. Para buscar inactivos, modifique el parámetro de estado:

sc queryex tipo = estado del servicio = inactivo

  1. También puede consultar el estado de un proceso específico por su nombre. Esto es increíblemente útil para los administradores de sistemas, ya que pueden configurar archivos por lotes para verificar muchos procesos a la vez. Aquí hay un ejemplo:

instalación de dispositivo de consulta sc

Listado de servicios de Windows en PowerShell

PowerShell está destinado a ser un shell de línea de comandos dedicado para Windows moderno. Como tal, brinda acceso a casi todos los componentes del sistema operativo a través de comandos, y los servicios de Windows no son una excepción.

La ventaja de PowerShell es que puede automatizarlo fácilmente. Todos los comandos de PowerShell se pueden compilar en secuencias de comandos complejas, lo que le permite configurar tareas de administración del sistema en varias PC sin problemas.

  1. Comience abriendo PowerShell. Puede buscarlo en el menú Inicio; solo asegúrese de ejecutar una instancia elevada (es decir, como administrador).
  1. El comando más simple para enumerar los servicios de Windows en PowerShell es Obtener servicio. Muestra todos los servicios en su computadora, junto con su estado y nombres. El único problema es que la lista de servicios puede ser bastante larga.
  1. Cuando usas Obtener servicio, es una mejor idea exportar la lista a un archivo de texto. Puedes hacer esto usando tuberías, como esta:

Obtener servicio | Archivo de salida «C:\logs\All_Services.txt»

  1. Para consultar el estado de un servicio específico, siga las Obtener servicio comando con el nombre del servicio. Puede solicitar el estado de múltiples procesos separando sus nombres con comas.

Obtener servicio CryptSvc, COMSysApp

  1. Los tubos también se pueden utilizar para combinar el Obtener servicio cmdlet con el Donde-Objeto y filtre los resultados por Estado. El siguiente comando ilustra esto al obtener todos los servicios en ejecución:

Obtener servicio | Where-Object {$_.Status -EQ “En ejecución”}

Comprobación de las dependencias del servicio

Cualquier proceso complejo se divide en múltiples servicios interdependientes. Esta es la razón por la que simplemente obtener el estado de un servicio en particular a menudo no es suficiente. También debe verificar el estado de los servicios de los que depende ese servicio.

  1. Para ver los servicios requeridos por un servicio en particular, use el -Servicios requeridos bandera con la Obtener servicio cmdlet. Aquí hay un ejemplo:

Obtener servicio -Nombre CryptSvc –RequiredServices

  1. Del mismo modo, para obtener una lista de servicios que dependen de un servicio específico, aproveche la -ServiciosDependientes bandera.

Obtener servicio -Nombre CryptSvc -DependentServices

Estos dos indicadores son cruciales al escribir scripts para iniciar o detener automáticamente los servicios de Windows, ya que le brindan una forma de realizar un seguimiento de todos los servicios conectados con el servicio afectado.

Listado de servicios de Windows en equipos remotos

El método de PowerShell no se limita a las computadoras locales. También puede usar el cmdlet Get-Service con la misma sintaxis descrita anteriormente para consultar los procesos de PC remotas. Solo agrega el -Nombre del ordenador marca al final para especificar de qué computadora remota recuperar información.

Aquí hay un ejemplo:

obtener servicio CryptSvc -ComputerName Workstation7

Administración de servicios de Windows en PowerShell

Obtener el estado de los servicios no es lo único que puede hacer en Windows PowerShell. Como un entorno de secuencias de comandos completo, proporciona alternativas de secuencias de comandos para todas las opciones de GUI.

Los cmdlets de Powershell pueden detener, iniciar, reiniciar o incluso modificar servicios. Emparejado con automatizado Obtener servicio comandos, se pueden escribir secuencias de comandos de PowerShell para automatizar por completo las tareas diarias de administración del sistema.

  1. Además de consultar el estado de los servicios, también puede usar PowerShell para administrarlos. El inicio o la detención de servicios se pueden realizar con un solo comando, requiriendo solo el nombre del servicio. Por ejemplo, así es como puede detener un servicio:

Stop-Service -Cola de nombres

  1. Iniciar un servicio es similar:

Servicio de inicio – Cola de nombres

  1. Si un servicio no funciona correctamente, también puede optar por reiniciarlo:

Servicio de reinicio -Cola de nombres

  1. También existe el cmdlet Set-Service que se puede usar para cambiar las propiedades de un servicio. Aquí deshabilitamos el inicio automático del servicio Print Spooler:

Establecer servicio ‘Spooler’ – Tipo de inicio deshabilitado

¿Cuál es la mejor manera de enumerar los servicios de Windows?

Ya sea que esté ejecutando Windows 10 o Windows Server, puede ser útil poder ver una lista de todos los servicios de Windows. Puede diagnosticar problemas con funciones críticas del sistema o detener servicios de Microsoft innecesarios para mejorar el rendimiento.

Para este propósito, PowerShell es la mejor opción. Si bien puede obtener una lista de servicios en el símbolo del sistema, la funcionalidad adicional proporcionada por PowerShell es más útil.

Puede usar los cmdlets de PowerShell para obtener el estado del servicio de los procesos de Windows, filtrándolos por su estado u otros parámetros. También es fácil determinar los servicios dependientes e iniciarlos o detenerlos según sea necesario.

Categorías PC