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 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, Start-Service
non crea alcun output. L'operatore pipeline (|
) passa l'output dell'oggetto da 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 Get-CimInstance
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.
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. Sono consentiti caratteri jolly.
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 nome. Immettere un elemento o un criterio nome, ad esempio s*
. Sono consentiti caratteri jolly.
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 nome. Immettere un elemento o un criterio nome, ad esempio s*
. Sono consentiti caratteri jolly.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | True |
-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 .
Tipo: | ServiceController[] |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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.
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, questo 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 cosa accadrebbe se il cmdlet viene eseguito. 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 utilizza il parametro PassThru, questo cmdlet restituisce un oggetto ServiceController che rappresenta il servizio.
Note
PowerShell include gli alias seguenti per Start-Service
:
- Finestre:
sasv
Questo cmdlet è disponibile solo nelle piattaforme Windows.
- Per impostazione predefinita, solo i membri del gruppo Administrators possono avviare, arrestare, sospendere, riprendere o riavviare un servizio. Se si è membri del gruppo Administrators, è necessario eseguire
Start-Service
da una sessione di PowerShell con privilegi elevati. Usare l'opzione Esegui come amministratore per avviare PowerShell. - 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 comando
Start-Service
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 il cmdletSet-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.