Start-Service
Avvia uno o più servizi arrestati.
Sintassi
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>]
Descrizione
Questo cmdlet è disponibile solo nella piattaforma Windows.
Il Start-Service
cmdlet 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 Name 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 in modo 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 viene usato Get-Service
per ottenere un oggetto che rappresenta il servizio WMI e archiviarlo nella $s
variabile . Avviare quindi il servizio. Senza il parametro PassThru , Start-Service
non crea alcun output. L'operatore pipeline (|
) passa l'output dell'oggetto dal Start-Service
Format-List
cmdlet per formattare l'oggetto come elenco delle relative proprietà. L'operatore di reindirizzamento di accodamento (>>
) 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 è Disabilitato.
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 Get-CimInstance
comando mostra che la proprietà StartMode del servizio Tlntsvr è Disabled. Il Set-Service
cmdlet modifica il tipo di avvio in Manuale. A questo momento, è possibile inviare nuovamente il Start-Service
comando. Questa volta il comando riesce. Per verificare che il comando abbia avuto esito positivo, eseguire Get-Service
.
Parametri
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-DisplayName
Specifica i nomi visualizzati dei servizi da avviare. I caratteri jolly sono consentiti.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-Exclude
Specifica i servizi che questo cmdlet omette. Il valore di questo parametro qualifica il parametro Name . Immettere un elemento o un criterio name, ad esempio s*
. I caratteri jolly sono consentiti.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-Include
Specifica i servizi avviati da questo cmdlet. Il valore di questo parametro qualifica il parametro Name . Immettere un elemento o un criterio name, ad esempio s*
. I caratteri jolly sono consentiti.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-InputObject
Specifica gli oggetti ServiceController che rappresentano i servizi da avviare. Immettere una variabile che contiene gli oggetti oppure digitare un comando o un'espressione che ottiene gli oggetti.
Tipo: | ServiceController[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Name
Specifica i nomi di servizio dei servizi da avviare.
Il nome del parametro è facoltativo. È possibile usare Name o il relativo alias, ServiceName o omettere il nome del parametro.
Tipo: | String[] |
Alias: | ServiceName |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-PassThru
Restituisce un oggetto che rappresenta il servizio. Per impostazione predefinita, il cmdlet non genera alcun output.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
È possibile inviare tramite pipe un oggetto servizio a questo cmdlet.
È possibile inviare tramite pipe una stringa contenente il nome del servizio a questo cmdlet.
Output
None
Per impostazione predefinita, questo cmdlet non restituisce alcun output.
Quando si usa il parametro PassThru , questo cmdlet restituisce un oggetto ServiceController che rappresenta il servizio.
Note
PowerShell include gli alias seguenti per Start-Service
:
- Windows:
sasv
Questo cmdlet è disponibile solo nelle piattaforme Windows.
Start-Service
può controllare i servizi solo se l'utente corrente dispone dell'autorizzazione per eseguire questa operazione. Se un comando non funziona correttamente, l'utente potrebbe non avere le autorizzazioni richieste.- Per trovare i nomi dei servizi e i nomi visualizzati dei servizi nel sistema, digitare
Get-Service
. I nomi dei servizi vengono visualizzati nella colonna Nome e i nomi visualizzati vengono visualizzati 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
Start-Service
comando ha esito negativo con il messaggioCannot start service \<service-name\> on computer
, usareGet-CimInstance
per trovare il tipo di avvio del servizio e, se necessario, usare ilSet-Service
cmdlet 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.