Compartir a través de


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 descendente del cmdlet Sort-Object.

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 Format-Table usa el parámetro Property para especificar las propiedades mostradas en la tabla, incluida la propiedad MachineName .

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