Get-Service

Obtiene los servicios del equipo.

Syntax

Get-Service
   [[-Name] <String[]>]
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-DependentServices]
   [-RequiredServices]
   -DisplayName <String[]>
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-InputObject <ServiceController[]>]
   [<CommonParameters>]

Description

Este cmdlet solo está disponible en la plataforma Windows.

El Get-Service cmdlet obtiene objetos que representan los servicios de un equipo, incluidos los servicios en ejecución y detenidos. De forma predeterminada, cuando Get-Service se ejecuta sin parámetros, se devuelven todos los servicios del equipo local.

Puede dirigir este cmdlet para obtener solo servicios concretos 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

En este ejemplo se obtienen todos los servicios del equipo. Se comporta como si escribeste Get-Service *. La pantalla predeterminada muestra el estado, el nombre de servicio y el nombre para mostrar de cada servicio.

Get-Service

Ejemplo 2: Obtener servicios que comienzan con una cadena de búsqueda

En este ejemplo se recuperan los servicios con nombres de servicio que comienzan por WMI (Instrumental de administración de Windows).

Get-Service "wmi*"

Ejemplo 3: Mostrar servicios que incluyen una cadena de búsqueda

En este ejemplo se muestran los servicios con un nombre para mostrar que incluye la palabra network. 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.

Get-Service -Displayname "*network*"

Ejemplo 4: Obtener servicios que comienzan con una cadena de búsqueda y una exclusión

En este ejemplo solo se obtienen los servicios con nombres de servicio que comienzan por win, excepto para el servicio WinRM.

Get-Service -Name "win*" -Exclude "WinRM"

Ejemplo 5: Mostrar servicios que están activos actualmente

En este ejemplo solo se muestran los servicios con un estado de Running.

Get-Service | Where-Object {$_.Status -eq "Running"}

Get-Service obtiene todos los servicios del equipo y envía los objetos a la canalización. El Where-Object cmdlet, 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: Enumeración de los servicios en el equipo que tienen servicios dependientes

En este ejemplo se obtienen los servicios 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 Get-Service cmdlet obtiene todos los servicios del equipo y envía los objetos a la canalización. El Where-Object cmdlet selecciona los servicios cuya propiedad DependentServices no es null.

Los resultados se envían a la canalización al Format-List cmdlet . El parámetro Property muestra el nombre del servicio, el nombre de los servicios dependientes y una propiedad calculada que muestra el número de servicios dependientes para cada servicio.

Ejemplo 7: Ordenar servicios por valor de propiedad

En este ejemplo se muestra que cuando se ordenan los servicios en orden ascendente por el valor de su propiedad 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 1y Running tiene un valor de 4. Para obtener más información, consulte ServiceControllerStatus.

Para enumerar primero los servicios en ejecución, use el parámetro Descendente del Sort-Object cmdlet .

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

Ejemplo 8: Obtención de los servicios dependientes de un servicio

En este ejemplo se obtienen los servicios que requiere el servicio WinRM. Se devuelve el valor de la propiedad ServicesDependedOn del servicio.

Get-Service "WinRM" -RequiredServices

Ejemplo 9: Obtención de un servicio mediante el operador de canalización

En este ejemplo se obtiene el servicio WinRM en el equipo local. La cadena de nombre de servicio, entre comillas, se envía a la canalización a Get-Service.

"WinRM" | Get-Service

Parámetros

-DependentServices

Indica que este cmdlet obtiene solo los servicios que dependen del servicio especificado.

Type:SwitchParameter
Aliases:DS
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Especifica, como matriz de cadenas, los nombres para mostrar de los servicios que se van a recuperar. Se permiten los caracteres comodín.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-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 califica el parámetro Name . Escriba un elemento de nombre o un patrón, como s*. Se permiten los caracteres comodín.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Include

Especifica, como matriz de cadenas, un servicio o servicios que este cmdlet incluye en la operación. El valor de este parámetro califica el parámetro Name . Escriba un elemento de nombre o un patrón, como s*. Se permiten los caracteres comodín.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

Especifica los objetos ServiceController que representan los servicios que se van a recuperar. Especifique una variable que contenga los objetos o escriba un comando o una expresión que obtenga los objetos. Puede canalizar un objeto de servicio a este cmdlet.

Type:ServiceController[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Especifica los nombres de servicio de los servicios que se van a recuperar. Se permiten los caracteres comodín.

Type:String[]
Aliases:ServiceName
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-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.

Type:SwitchParameter
Aliases:SDO, ServicesDependedOn
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:True

Entradas

ServiceController

Puede canalizar un objeto de servicio a este cmdlet.

String

Puede canalizar un nombre de servicio a este cmdlet.

Salidas

ServiceController

Este cmdlet devuelve objetos que representan los servicios del equipo.

Notas

PowerShell incluye los siguientes alias para Get-Service:

  • Windows:
    • gsv

Este cmdlet solo está disponible en plataformas Windows.

A partir de PowerShell 6.0, se agregan las siguientes propiedades a los objetos ServiceController: UserName, Description, DelayedAutoStart, BinaryPathName y StartupType .

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 buscar el nombre del servicio y el nombre para mostrar de cada servicio en el sistema, escriba Get-Service. Los nombres de servicio aparecen en la columna Nombre y los nombres para mostrar aparecen en la columna DisplayName .

Nota:

Normalmente, Get-Service devuelve información sobre los servicios y no el controlador. Sin embargo, si especifica el nombre de un controlador, Get-Service devuelve información sobre el controlador.

  • La enumeración no incluye servicios de controladores de dispositivos
  • Cuando se especifica un carácter comodín, el cmdlet solo devuelve servicios de Windows.
  • Si especifica el nombre o displayName que es una coincidencia exacta con un nombre de servicio de dispositivo, se devuelve la instancia del dispositivo.

Al ordenar en orden ascendente por valor de estado, Stopped los servicios aparecen antes de Running los servicios. 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. Runningaparece antes de Stopped porque tiene un valor de 1y Running tiene un valor de 4Stopped . Para obtener más información, consulte ServiceControllerStatus.