Start-Service

Inicia uno o más servicios detenidos.

Syntax

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 Start-Service cmdlet envía un mensaje de inicio al controlador de servicio de Windows para cada uno de los servicios especificados. Si un servicio ya se está ejecutando, se omite el mensaje 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 $s variable . 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 Format-List objeto al Start-Service cmdlet 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 Get-CimInstance comando muestra que la propiedad StartMode del servicio Tlntsvr es Disabled. El Set-Service cmdlet cambia el tipo de inicio a Manual. Ahora, podemos volver a enviar el Start-Service comando. Esta vez, el comando se ejecutará correctamente. Para comprobar que el comando se realizó correctamente, ejecute Get-Service.

Parámetros

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

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

-DisplayName

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

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters: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 un patrón, como s*. Se permite el uso de caracteres comodín.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 un patrón, como s*. Se permite el uso de caracteres comodín.

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

-InputObject

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

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

-Name

Especifica los nombres de servicio de los servicios que se van a iniciar.

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

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

-PassThru

Devuelve un objeto que representa el servicio. De forma predeterminada, este cmdlet no genera ningún resultado.

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

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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, puede que se deba a que no tiene 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 y los nombres para mostrar aparecen en la columna DisplayName .
  • 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 Start-Service comando con el mensaje Cannot start service \<service-name\> on computer, use Get-CimInstance para buscar el tipo de inicio del servicio y, si tiene que hacerlo, use el Set-Service cmdlet 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.