Los servicios son una de las partes más importantes de los sistemas operativos. Hay diferentes herramientas y comandos para listar estos servicios. Powershell proporciona el commandlet Get-Service para listar estos servicios y filtrarlos de acuerdo con el filtro proporcionado.

Empezaremos con un caso de uso simple en el que listaremos todos los servicios sin proporcionar una opción al comando Get-Service. Esto listará el servicio existente actualmente con el estado de ejecución o detenido.

PS> Get-Service
Lista todos los servicios

Como podemos ver en la captura de pantalla los servicios están ordenados por nombre por defecto. La siguiente información se proporciona por defecto sobre los servicios listados.

  • Status mostrará si el servicio es Running o Stopped
  • Name mostrará el nombre real y corto del servicio que es utilizado por los comandos.
  • Display Name mostrará el nombre extendido e informativo del servicio que es más amigable para las personas.

Lista de todos los servicios en el equipo o sistema remoto

Como Microsoft proporcionó el acceso remoto y la gestión de los sistemas remotos con powreshell podemos usar el comando Get-Service para listar los servicios en los sistemas remotos. Proporcionaremos el -computername del sistema remoto. Esto puede ser un nombre DNS que puede ser resuelto o una dirección IP a la que podemos acceder.

PS > Get-Service -computername DESKTOP-HQVAMA3
Lista de todos los servicios en el equipo o sistema remoto

Lista de servicios con nombre especificado

Los sistemas operativos Windows tienen una gran cantidad de servicios que llenarán el terminal fácilmente. O podemos necesitar listar el nombre de un servicio específico proporcionando su nombre o alguna parte de su nombre. Simplemente proporcionaremos el nombre después del comando Get-Service. También podemos utilizar el glob * donde sólo se especificará una parte del nombre del servicio. En este ejemplo trataremos de listar el servicio WinDefend proporcionando WinDef* como nombre del servicio.

PS > Get-Service WinDef*
Lista de servicios con nombre especificado

Lista sólo de servicios actualmente en ejecución

Hay dos estados principales de servicio en Windows. Running o Stopped . Podemos necesitar listar los servicios según su estado. Podemos usar el parámetro de objeto Status como el que se muestra a continuación, que listará sólo los servicios en ejecución.

PS> Get-Service | Where-Object {$_.Status -eq "Running"}
Listará sólo los servicios en ejecución

Listará el servicio con el servicio dependiente

Los servicios son importantes y pueden estar vinculados y depender unos de otros. Antes de detenerlos podemos necesitar listar los servicios dependientes del servicio dado. Podemos utilizar las opciones -RequiredServices para listar las dependencias de los servicios.

PS> Get-Service "WinDefend" -RequiredServices
Lista de servicios con servicios dependientes

Lista ordenada por estado (parado/en ejecución)

Puede que necesitemos comprobar la lista de servicios según su estado de ejecución y parado. Podemos ordenarlos usando Sort-Object como se muestra a continuación.

PS> Get-Service | Sort-Object status
Lista ordenada por estado (detenido/en ejecución)

Escribir la lista de servicios en un archivo

Puede que necesitemos investigar la lista de servicios más tarde o simplemente queremos guardarlos en un archivo. Podemos utilizar el comando Out-File que escribirá la lista de servicios en el archivo que queramos. En este ejemplo escribiremos en un archivo llamado Services.txt

PS> Get-Service | Out-File "C:\Users\İsmail Baydan\Desktop\Services.txt"

Deja una respuesta

Tu dirección de correo electrónico no será publicada.