Compartir a través de


Start-Service

Inicia uno o varios servicios detenidos.

Sintaxis

Start-Service
     [-InputObject] <ServiceController[]>
     [-PassThru]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-Service
     [-Name] <String[]>
     [-PassThru]
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-Service
     [-PassThru]
     -DisplayName <String[]>
     [-Include <String[]>]
     [-Exclude <String[]>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

Description

Este cmdlet solo está disponible en la plataforma Windows.

El cmdlet Start-Service envía un mensaje de inicio al controlador de servicio de Windows para cada uno de los servicios especificados. Si ya se está ejecutando un servicio, el mensaje se omite sin errores. Puede especificar los servicios por sus nombres de servicio o nombres para mostrar, o bien puede usar el parámetro InputObject para proporcionar un objeto de servicio que represente los servicios que desea iniciar.

Ejemplos

Ejemplo 1: Iniciar un servicio con su nombre

En este ejemplo se inicia el servicio EventLog en el equipo local. El parámetro Name identifica el servicio por su nombre de servicio.

Start-Service -Name "eventlog"

Ejemplo 2: Mostrar información sin iniciar un servicio

En este ejemplo se muestra lo que ocurriría si iniciaba los servicios que tienen un nombre para mostrar que incluye "remoto".

Start-Service -DisplayName *remote* -WhatIf

El parámetro DisplayName identifica los servicios por su nombre para mostrar en lugar de su nombre de servicio. El parámetro WhatIf hace que el cmdlet muestre lo que sucedería al ejecutar el comando, pero no realiza cambios.

Ejemplo 3: Iniciar un servicio y registrar la acción en un archivo de texto

En este ejemplo se inicia el servicio Instrumental de administración de Windows (WMI) en el equipo y se agrega un registro de la acción al archivo services.txt.

$s = Get-Service wmi
Start-Service -InputObject $s -PassThru | Format-List >> services.txt

En primer lugar, usamos Get-Service para obtener un objeto que represente el servicio WMI y lo almacene en la variable $s. A continuación, iniciamos el servicio. Sin el parámetro PassThru, Start-Service no crea ninguna salida. El operador de canalización (|) pasa la salida del objeto Start-Service al cmdlet Format-List para dar formato al objeto como una lista de sus propiedades. El operador de redirección append (>>) redirige la salida al archivo services.txt. La salida se agrega al final del archivo existente.

Ejemplo 4: Iniciar un servicio deshabilitado

En este ejemplo se muestra cómo iniciar un servicio cuando el tipo de inicio del servicio es Deshabilitado.

PS> Start-Service tlntsvr
Start-Service : Service 'Telnet (TlntSvr)' cannot be started due to the following error: Cannot start service TlntSvr on computer '.'.
At line:1 char:14
+ Start-Service  <<<< tlntsvr

PS> Get-CimInstance win32_service | Where-Object Name -eq "tlntsvr"
ExitCode  : 0
Name      : TlntSvr
ProcessId : 0
StartMode : Disabled
State     : Stopped
Status    : OK

PS> Set-Service tlntsvr -StartupType manual
PS> Start-Service tlntsvr

Se produce un error en el primer intento de iniciar el servicio Telnet (tlntsvr). El comando muestra que la propiedad StartMode del servicio Tlntsvr es Disabled. El cmdlet Set-Service cambia el tipo de inicio a Manual. Ahora, podemos volver a enviar el comando Start-Service. Esta vez, el comando se realiza correctamente. Para comprobar que el comando se realizó correctamente, ejecute Get-Service.

Parámetros

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DisplayName

Especifica los nombres para mostrar de los servicios que se van a iniciar. Se permiten caracteres comodín.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-Exclude

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

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-Include

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

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-InputObject

Especifica ServiceController objetos que representan los servicios que se van a iniciar. Escriba una variable que contenga los objetos, o escriba un comando o expresión que obtenga los objetos.

Tipo:ServiceController[]
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Name

Especifica los nombres de servicio para que se inicie el servicio.

El nombre del parámetro es opcional. Puede usar Nombre o su alias, ServiceName, o bien puede omitir el nombre del parámetro.

Tipo:String[]
Alias:ServiceName
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-PassThru

Devuelve un objeto que representa el servicio. De forma predeterminada, este cmdlet no genera ninguna salida.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-WhatIf

Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

ServiceController

Puede canalizar un objeto de servicio a este cmdlet.

String

Puede canalizar una cadena que contenga el nombre del servicio a este cmdlet.

Salidas

None

De forma predeterminada, este cmdlet no devuelve ninguna salida.

ServiceController

Cuando se usa el parámetro PassThru, este cmdlet devuelve un objeto ServiceController que representa el servicio.

Notas

PowerShell incluye los siguientes alias para Start-Service:

  • Windows:
    • sasv

Este cmdlet solo está disponible en plataformas Windows.

  • Start-Service solo puede controlar los servicios si el usuario actual tiene permiso para hacerlo. Si un comando no funciona correctamente, es posible que no tenga los permisos necesarios.
  • Para buscar los nombres de servicio y los nombres para mostrar de los servicios en el sistema, escriba Get-Service. Los nombres de servicio aparecen en la columna Nombre de y los nombres para mostrar aparecen en la columna DisplayName de .
  • Solo puede iniciar los servicios que tienen un tipo de inicio de Manual, Automático o Automático (Inicio retrasado). No se pueden iniciar los servicios que tienen un tipo de inicio deshabilitado. Si se produce un error en un comando Start-Service con el mensaje Cannot start service \<service-name\> on computer, use Get-CimInstance para buscar el tipo de inicio del servicio y, si es necesario, use el cmdlet Set-Service para cambiar el tipo de inicio del servicio.
  • Algunos servicios, como registros de rendimiento y alertas (SysmonLog) se detienen automáticamente si no tienen ningún trabajo que hacer. Cuando PowerShell inicia un servicio que se detiene casi inmediatamente, muestra el siguiente mensaje: Service \<display-name\> start failed.