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

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

Las aplicaciones en ejecución que ve en su pantalla son una fracción de lo que está sucediendo en Windows. Desde la administración de controladores de dispositivos hasta garantizar la seguridad, un montón de procesos de fondo mantienen una PC de Windows en funcionamiento.

Para cualquier administrador del sistema que supervise múltiples 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.

Tabla de contenido

    La solución? Herramientas de línea de comandos. Usando el símbolo del sistema o PowerShell, puede leer rápidamente los servicios operativos de Microsoft que se ejecutan en un sistema, ayudándole a diagnosticar cualquier problema rápidamente. 

    1. Hay muchas formas de usar el comando SC QueryEx. El tipo y el estado son los dos parámetros más utilizados. Por ejemplo, ingrese el siguiente comando para ver todos los procesos de Windows:

    SC QueryEx type = Service State = All

    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 | find /i “Service_Name:"

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

    SC QueryEx type = Service State = Inactive

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

    SC Consuly Deviceinstall

    Listado de servicios de Windows en PowerShell

    PowerShell está destinado a ser un shell de línea de comandos dedicado para ventanas modernas. Como tal, proporciona acceso a casi todos los componentes del sistema operativo a través de comandos, y los servicios de Windows no son excepcionales.

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

    1. Comience por abrir PowerShell. Puede buscarlo en el menú Inicio; Solo asegúrese de ejecutar una instancia elevada (yo.mi., como administrador).
    1. El comando más simple para enumerar los servicios de Windows en PowerShell es Get-Service. 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 Get-Service, Es una mejor idea exportar la lista a un archivo de texto. Puedes hacer esto usando tuberías, como esta:

    Get-Service | File de archivo "C: \ logs \ all_services.TXT"

    1. Para buscar el estado de un servicio específico, siga el Get-Service comando con el nombre del servicio. Puede solicitar el estado de múltiples procesos separando sus nombres con comas.

    Get-Service Cryptsvc, comsysapp

    1. Las tuberías también se pueden usar para combinar el Get-Service cmdlet con el Donde Object función y filtrar los resultados por estado. El siguiente comando ilustra esto obteniendo todos los servicios en ejecución:

    Get-Service | Where-Object $ _.Estado -eq "ejecutando"

    Verificación de dependencias del servicio

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

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

    Get -Service -Name Cryptsvc -RequiredServices

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

    Get -Service -Name Cryptsvc -dependentServices

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

    Listado de servicios de Windows en computadoras remotas

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

    Aquí hay un ejemplo:

    Get -Service 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 script a todas las opciones de GUI.

    Los cmdlets de PowerShell pueden detenerse, iniciar, reiniciar o incluso modificar los servicios. Emparejado con automatizado Get-Service Comandos, los scripts de PowerShell se pueden escribir para automatizar completamente las tareas de gestión de sistemas cotidianos.

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

    Parada

    1. Comenzar un servicio va de manera similar:

    Servicio de inicio -Name Spooler

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

    Reinicio -servicio -name spooler

    1. También existe el cmdlet de servicio de ajuste que se puede utilizar para cambiar las propiedades de un servicio. Aquí deshabilitamos el inicio automático del servicio de bote de impresión:

    Set -Service 'Spooler' -StarTupType discapacitado

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

    Ya sea que esté ejecutando Windows 10 o un servidor de Windows, poder ver una lista de todos los servicios de Windows puede ser útil. Puede diagnosticar problemas con las funciones críticas del sistema o detener los servicios innecesarios de Microsoft 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 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 y comenzarlos o detenerlos según sea necesario.