Get-Service
Obtiene los servicios en un equipo local o remoto.
Sintaxis
Default (valor predeterminado)
Get-Service
[[-Name] <String[]>]
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
DisplayName
Get-Service
-DisplayName <String[]>
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
InputObject
Get-Service
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[-InputObject <ServiceController[]>]
[<CommonParameters>]
Description
El cmdlet Get-Service obtiene objetos que representan los servicios en un equipo local o en un equipo remoto, incluidos los servicios en ejecución y detenidos.
Puede indicar a este cmdlet que obtenga solo determinados servicios especificando el nombre del servicio o el nombre para mostrar de los servicios, o puede canalizar objetos de servicio a este cmdlet.
Ejemplos
Ejemplo 1: Obtener todos los servicios del equipo
Get-Service
Este comando obtiene todos los servicios del equipo.
Se comporta como si escribeste Get-Service *.
La pantalla predeterminada muestra el estado, el nombre del servicio y el nombre para mostrar de cada servicio.
Ejemplo 2: Obtener servicios que comienzan con una cadena de búsqueda
Get-Service "wmi*"
Este comando recupera los servicios con nombres de servicio que comienzan por WMI (el acrónimo de Instrumental de administración de Windows).
Ejemplo 3: Mostrar servicios que incluyen una cadena de búsqueda
Get-Service -Displayname "*network*"
Este comando muestra los servicios con un nombre para mostrar que incluye la palabra red. La búsqueda del nombre para mostrar busca servicios relacionados con la red incluso cuando el nombre del servicio no incluye "Net", como xmlprov, network Provisioning Service.
Ejemplo 4: Obtener servicios que comienzan con una cadena de búsqueda y una exclusión
Get-Service -Name "win*" -Exclude "WinRM"
Estos comandos solo obtienen los servicios con nombres de servicio que comienzan por win, excepto el servicio WinRM.
Ejemplo 5: Mostrar servicios que están activos actualmente
Get-Service | Where-Object {$_.Status -eq "Running"}
Este comando muestra solo los servicios que están activos actualmente. Usa el cmdlet Get-Service para obtener todos los servicios del equipo. El operador de canalización (|) pasa los resultados al cmdlet Where-Object, que selecciona solo los servicios con una propiedad Status que es igual a Running.
Status solo es una propiedad de los objetos de servicio.
Para ver todas las propiedades, escriba Get-Service | Get-Member.
Ejemplo 6: Obtener los servicios en un equipo remoto
Get-Service -ComputerName "Server02"
Este comando obtiene los servicios en el equipo remoto Server02.
Dado que el parámetro ComputerName de Get-Service no usa la comunicación remota de Windows PowerShell, puede usar este parámetro incluso si el equipo no está configurado para la comunicación remota en Windows PowerShell.
Ejemplo 7: Enumeración de los servicios en el equipo local que tienen servicios dependientes
Get-Service |
Where-Object {$_.DependentServices} |
Format-List -Property Name, DependentServices, @{
Label="NoOfDependentServices"; Expression={$_.dependentservices.count}
}
Name : AudioEndpointBuilder
DependentServices : {AudioSrv}
NoOfDependentServices : 1
Name : Dhcp
DependentServices : {WinHttpAutoProxySvc}
NoOfDependentServices : 1
...
El primer comando usa el cmdlet Get-Service para obtener los servicios del equipo. Un operador de canalización (|) envía los servicios al cmdlet Where-Object, que selecciona los servicios cuya propiedad DependentServices no es null.
Otro operador de canalización envía los resultados al cmdlet Format-List. El comando usa su parámetro Property para mostrar el nombre del servicio, el nombre de los servicios dependientes y una propiedad calculada que muestra el número de servicios dependientes que tiene cada servicio.
Ejemplo 8: Ordenar servicios por valor de propiedad
Get-Service "s*" | Sort-Object status
Status Name DisplayName
------ ---- -----------
Stopped stisvc Windows Image Acquisition (WIA)
Stopped SwPrv MS Software Shadow Copy Provider
Stopped SysmonLog Performance Logs and Alerts
Running Spooler Print Spooler
Running srservice System Restore Service
Running SSDPSRV SSDP Discovery Service
Running ShellHWDetection Shell Hardware Detection
Running Schedule Task Scheduler
Running SCardSvr Smart Card
Running SamSs Security Accounts Manager
Running SharedAccess Windows Firewall/Internet Connectio...
Running SENS System Event Notification
Running seclogon Secondary Logon
Este comando muestra que cuando se ordenan los servicios en orden ascendente por el valor de su propiedad Status Status, los servicios detenidos aparecen antes de ejecutar los servicios. Esto sucede porque el valor de Status es una enumeración, en la que Stopped tiene un valor de 1 y Running tiene un valor de 4.
Para enumerar primero los servicios en ejecución, use el parámetro de
Ejemplo 9: Obtención de servicios en varios equipos
Get-Service -Name "WinRM" -ComputerName "localhost", "Server01", "Server02" |
Format-Table -Property MachineName, Status, Name, DisplayName -auto
MachineName Status Name DisplayName
------------ ------ ---- -----------
localhost Running WinRM Windows Remote Management (WS-Management)
Server01 Running WinRM Windows Remote Management (WS-Management)
Server02 Running WinRM Windows Remote Management (WS-Management)
Este comando usa el cmdlet Get-Service para ejecutar un comando Get-Service Winrm en dos equipos remotos y el equipo local ("localhost").
El comando se ejecuta en los equipos remotos y los resultados se devuelven al equipo local.
Un operador de canalización (|) envía los resultados al cmdlet Format-Table, que da formato a los servicios como una tabla.
El comando
Ejemplo 10: Obtener los servicios dependientes de un servicio
Get-Service "WinRM" -RequiredServices
Este comando obtiene los servicios que requiere el servicio WinRM.
El comando devuelve el valor de la propiedad ServicesDependedOn del servicio.
Ejemplo 11: Obtención de un servicio mediante el operador de canalización
"WinRM" | Get-Service
Este comando obtiene el servicio WinRM en el equipo local. En este ejemplo se muestra que puede canalizar una cadena de nombre de servicio (entre comillas) a Get-Service.
Parámetros
-ComputerName
Obtiene los servicios que se ejecutan en los equipos especificados. El valor predeterminado es el equipo local.
Escriba el nombre NetBIOS, una dirección IP o un nombre de dominio completo (FQDN) de un equipo remoto. Para especificar el equipo local, escriba el nombre del equipo, un punto (.) o localhost.
Este parámetro no se basa en la comunicación remota de Windows PowerShell. Puede usar el parámetro ComputerName de Get-Service incluso si el equipo no está configurado para ejecutar comandos remotos.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | CN |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-DependentServices
Indica que este cmdlet obtiene solo los servicios que dependen del servicio especificado.
De forma predeterminada, este cmdlet obtiene todos los servicios.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | DS |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-DisplayName
Especifica, como matriz de cadenas, los nombres visibles de los servicios que vas a recuperar. Se permiten los caracteres comodín. De forma predeterminada, este cmdlet obtiene todos los servicios del equipo.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | True |
| DontShow: | False |
Conjuntos de parámetros
DisplayName
| Posición: | Named |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Exclude
Especifica, como una matriz de cadenas, un servicio o servicios que este cmdlet excluye de la operación. El valor de este parámetro condiciona el parámetro Name. Escriba un elemento o patrón de nombre, como "s*". Se permiten los caracteres comodín.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | True |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Include
Especifica, como matriz de cadenas, un servicio o servicios que este cmdlet incluye en la operación. El valor de este parámetro condiciona el parámetro Name. Escriba un elemento o patrón de nombre, como "s*". Se permiten los caracteres comodín.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | True |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-InputObject
Especifica ServiceController objetos que representan los servicios que se van a recuperar. Escriba una variable que contenga los objetos, o escriba un comando o expresión que obtenga los objetos. También puede canalizar un objeto de servicio a este cmdlet.
Propiedades de parámetro
| Tipo: | ServiceController[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
InputObject
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | True |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Name
Especifica los nombres de servicio de los servicios que se van a recuperar. Se permiten los caracteres comodín. De forma predeterminada, este cmdlet obtiene todos los servicios del equipo.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | True |
| DontShow: | False |
| Alias: | NombreDelServicio |
Conjuntos de parámetros
Default
| Posición: | 0 |
| Obligatorio: | False |
| Valor de la canalización: | True |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-RequiredServices
Indica que este cmdlet obtiene solo los servicios que requiere este servicio.
Este parámetro obtiene el valor de la propiedad ServicesDependedOn del servicio. De forma predeterminada, este cmdlet obtiene todos los servicios.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | True |
| DontShow: | False |
| Alias: | SDO, ServicesDependedOn |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
Entradas
System.ServiceProcess.ServiceController, System.String
Puede canalizar un objeto de servicio o un nombre de servicio a este cmdlet.
Salidas
ServiceController
Este cmdlet devuelve objetos que representan los servicios del equipo.
Notas
También puede hacer referencia a Get-Service por su alias integrado, "gsv". Para obtener más información, consulte about_Aliases.
Este cmdlet solo puede mostrar servicios cuando el usuario actual tiene permiso para verlos. Si este cmdlet no muestra servicios, es posible que no tenga permiso para verlos.
Para ver el nombre de servicio y el nombre para mostrar de los servicios del sistema, escriba Get-Service.
Los nombres de servicio aparecen en la columna Nombre y los nombres para mostrar aparecen en la columna DisplayName.
Al ordenar en orden ascendente por valor de estado, los servicios "Detenidos" aparecen antes de los servicios "En ejecución". La propiedad Status de un servicio es un valor enumerado en el que los nombres de los estados representan valores enteros. La ordenación se basa en el valor entero, no en el nombre. "Running" aparece antes de "Stopped" porque "Stopped" tiene un valor de "1" y "Running" tiene un valor de "4".