Condividi tramite


Start-Service

Avvia uno o più servizi arrestati.

Sintassi

InputObject (Impostazione predefinita)

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

Default

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

DisplayName

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

Descrizione

Il cmdlet Start-Service invia un messaggio di avvio al controller del servizio Windows per ognuno dei servizi specificati. Se un servizio è già in esecuzione, il messaggio viene ignorato senza errori. È possibile specificare i servizi in base ai nomi dei servizi o ai nomi visualizzati oppure utilizzare il parametro InputObject per fornire un oggetto servizio che rappresenta i servizi da avviare.

Esempio

Esempio 1: Avviare un servizio usando il nome

In questo esempio viene avviato il servizio EventLog nel computer locale. Il parametro Nome identifica il servizio in base al nome del servizio.

Start-Service -Name "eventlog"

Esempio 2: Visualizzare le informazioni senza avviare un servizio

In questo esempio viene illustrato cosa si verifica se si avviano i servizi con un nome visualizzato che include "remoto".

Start-Service -DisplayName *remote* -WhatIf

Il parametro DisplayName identifica i servizi in base al nome visualizzato anziché al nome del servizio. Il parametro WhatIf fa sì che il cmdlet visualizzi cosa accadrebbe quando si esegue il comando ma non apporta modifiche.

Esempio 3: Avviare un servizio e registrare l'azione in un file di testo

In questo esempio viene avviato il servizio Strumentazione gestione Windows (WMI) nel computer e viene aggiunto un record dell'azione al file services.txt.

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

Prima di tutto si usa Get-Service per ottenere un oggetto che rappresenta il servizio WMI e archiviarlo nella variabile $s. Avviare quindi il servizio. Senza il parametro PassThru , non crea alcun output. L'operatore pipeline (|) passa l'output dell'oggetto Start-Service al cmdlet Format-List per formattare l'oggetto come elenco delle relative proprietà. L'operatore di reindirizzamento append (>>) reindirizza l'output al file services.txt. L'output viene aggiunto alla fine del file esistente.

Esempio 4: Avviare un servizio disabilitato

In questo esempio viene illustrato come avviare un servizio quando il tipo di avvio del servizio è Disabled.

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

Il primo tentativo di avviare il servizio Telnet (tlntsvr) ha esito negativo. Il comando mostra che la proprietà StartMode del servizio Tlntsvr è Disabled. Il cmdlet Set-Service modifica il tipo di avvio in Manuale. È ora possibile inviare di nuovo il comando Start-Service. Questa volta, il comando ha esito positivo. Per verificare che il comando sia riuscito, eseguire Get-Service.

Parametri

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-DisplayName

Specifica i nomi visualizzati dei servizi da avviare. Sono consentiti caratteri jolly.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

DisplayName
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Exclude

Specifica i servizi che questo cmdlet omette. Il valore di questo parametro specifica il parametro Nome. Immettere un elemento o un modello di nome, ad esempio s*. Sono consentiti caratteri jolly.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Include

Specifica i servizi avviati da questo cmdlet. Il valore di questo parametro specifica il parametro Nome. Immettere un elemento o un modello di nome, ad esempio s*. Sono consentiti caratteri jolly.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:True
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-InputObject

Specifica oggetti ServiceController che rappresentano i servizi da avviare. Immettere una variabile contenente gli oggetti oppure digitare un comando o un'espressione che ottiene gli oggetti .

Proprietà dei parametri

Tipo:

ServiceController[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

InputObject
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Name

Specifica i nomi dei servizi per il servizio da avviare.

Il nome del parametro è facoltativo. È possibile usare Nome o il relativo alias, ServiceNameoppure è possibile omettere il nome del parametro.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Nome del servizio

Set di parametri

Default
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-PassThru

Restituisce un oggetto che rappresenta il servizio. Per impostazione predefinita, questo cmdlet non genera alcun output.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

System.ServiceProcess.ServiceController, System.String

È possibile inviare tramite pipe oggetti che rappresentano i servizi o le stringhe che contengono i nomi dei servizi a questo cmdlet.

Output

None, System.ServiceProcess.ServiceController

Questo cmdlet genera un oggetto System.ServiceProcess.ServiceController che rappresenta il servizio, se si specifica PassThru. In caso contrario, questo cmdlet non genera alcun output.

Note

  • È anche possibile fare riferimento a Start-Service dal relativo alias predefinito sasv. Per altre informazioni, vedere about_Aliases.
  • Start-Service può controllare i servizi solo se l'utente corrente dispone dell'autorizzazione per eseguire questa operazione. Se un comando non funziona correttamente, è possibile che non si disponga delle autorizzazioni necessarie.
  • Per trovare i nomi dei servizi e i nomi visualizzati dei servizi nel sistema, digitare Get-Service. I nomi dei servizi appaiono nella colonna Nome e i nomi visualizzati appaiono nella colonna DisplayName.
  • È possibile avviare solo i servizi con un tipo di avvio manuale, automatico o automatico (avvio ritardato). Non è possibile avviare i servizi con un tipo di avvio Disabilitato. Se un comando Start-Service ha esito negativo con il messaggio Cannot start service \<service-name\> on computer, usare Get-CimInstance per trovare il tipo di avvio del servizio e, se necessario, usare il cmdlet Set-Service per modificare il tipo di avvio del servizio.
  • Alcuni servizi, ad esempio i log delle prestazioni e gli avvisi (SysmonLog) vengono interrotti automaticamente se non hanno alcun lavoro da eseguire. Quando PowerShell avvia un servizio che si arresta quasi immediatamente, viene visualizzato il messaggio seguente: Service \<display-name\> start failed.