Start-Service
Avvia uno o più servizi arrestati.
Sintassi
Start-Service [-Name] <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]
Start-Service -DisplayName <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]
Start-Service [-InputObject <ServiceController[]>] [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [<CommonParameters>]
Descrizione
Il cmdlet Start-Service invia un messaggio di avvio al controller dei servizi di Windows per ognuno dei servizi specificati. Se un servizio è già in esecuzione, il messaggio viene ignorato senza errore. È possibile specificare i servizi in base al relativo nome o nome visualizzato oppure utilizzare il parametro InputObject per fornire un oggetto servizio che rappresenta i servizi che si desidera avviare.
Parametri
-DisplayName <string[]>
Specifica i nomi visualizzati dei servizi da avviare. È consentito l'utilizzo di caratteri jolly.
Obbligatorio? |
true |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Exclude <string[]>
Omette i servizi specificati. Il valore di questo parametro qualifica il parametro Name. Immettere un criterio o un elemento del nome, ad esempio "s*". È consentito l'utilizzo di caratteri jolly.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Include <string[]>
Avvia unicamente i servizi specificati. Il valore di questo parametro qualifica il parametro Name. Immettere un criterio o un elemento del nome, ad esempio "s*". È consentito l'utilizzo di caratteri jolly.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-InputObject <ServiceController[]>
Specifica gli oggetti ServiceController che rappresentano i servizi da avviare. Immettere una variabile contenente gli oggetti oppure digitare un comando o un'espressione che consente di ottenere gli oggetti.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByValue) |
Accettare caratteri jolly? |
false |
-Name <string[]>
Specifica i nomi dei servizi da avviare.
Il nome del parametro è facoltativo. È possibile utilizzare "-Name" o il relativo alias, "-ServiceName", oppure omettere il nome del parametro.
Obbligatorio? |
true |
Posizione? |
1 |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByValue, ByPropertyName) |
Accettare caratteri jolly? |
false |
-PassThru
Restituisce un oggetto che rappresenta il servizio. Per impostazione predefinita, il cmdlet non genera alcun output.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Confirm
Chiede una conferma prima di eseguire il comando.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-WhatIf
Descrive ciò che accadrebbe se si eseguisse il comando senza eseguirlo realmente.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
<CommonParameters>
Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.
Input e output
Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.
Input |
System.ServiceProcess.ServiceController, System.String È possibile reindirizzare oggetti che rappresentano i servizi o stringhe che contengono i nomi del servizi a Start-Service. |
Output |
Nessuno o System.ServiceProcess.ServiceController Quando si utilizza il parametro PassThru, Start-Service genera un oggetto System.ServiceProcess.ServiceController che rappresenta il servizio. Negli altri casi, il cmdlet non genera alcun output. |
Note
È inoltre possibile fare riferimento a Start-Service tramite il relativo alias predefinito "sasv". Per ulteriori informazioni, vedere about_Aliases.
Start-Service consente di controllare i servizi solo se l'utente corrente dispone delle autorizzazioni necessarie. Se un comando non viene eseguito correttamente, è possibile che l'utente non 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 vengono visualizzati nella colonna Name e i nomi visualizzati vengono elencati nella colonna DisplayName.
È possibile avviare solo i servizi che presentano un tipo di avvio "Manual" o "Automatic". Non è possibile avviare i servizi con un tipo di avvio "Disabled". Se un comando Start-Service ha esito negativo e viene visualizzato il messaggio "Impossibile avviare il servizio <nome-servizio> sul computer," utilizzare un comando Get-WmiObject per trovare il tipo di avvio del servizio e, se necessario, utilizzare un comando Set-Service per modificare il tipo di avvio del servizio.
Alcuni servizi, ad esempio Avvisi e registri di prestazioni (SysmonLog), si arrestano automaticamente se non devono eseguire operazioni. Quando in Windows PowerShell viene avviato un servizio che si arresta immediatamente, viene visualizzato il messaggio seguente: "Avvio del servizio <nome-visualizzato> non riuscito".
Esempio 1
C:\PS>start-service -name eventlog
Descrizione
-----------
Tramite questo comando viene avviato il servizio EventLog nel computer locale. Viene utilizzato il parametro Name per identificare il servizio in base al relativo nome.
Esempio 2
C:\PS>start-service -displayname *remote* -whatif
Descrizione
-----------
Questo comando indica le conseguenze dell'avvio dei servizi con un nome visualizzato che include "remote". Viene utilizzato il parametro DisplayName per specificare i servizi tramite il relativo nome visualizzato anziché il nome del servizio. Inoltre, anziché eseguire direttamente il comando, viene utilizzato il parametro WhatIf per indicare le conseguenze dell'esecuzione del comando.
Esempio 3
C:\PS>$s = get-service wmi
C:\PS>start-service -InputObject $s -passthru | format-list >> services.txt
Descrizione
-----------
Tramite questi comandi viene avviato il servizio Strumentazione gestione Windows (WMI) nel computer e viene aggiunto un record dell'azione al file services.txt. Tramite il primo comando viene utilizzato il cmdlet Get-Service per ottenere un oggetto che rappresenta il servizio WMI e archiviarlo nella variabile $s.
Tramite il secondo comando viene utilizzato il cmdlet Start-Service per avviare il servizio WMI. Il servizio viene identificato utilizzando il parametro InputObject per passare la variabile $s contenente l'oggetto servizio WMI a Start-Service. Successivamente viene utilizzato il parametro PassThru per creare un oggetto che rappresenta l'avvio del servizio. Senza questo parametro, Start-Service non crea alcun output.
L'oggetto creato da Start-Service viene passato dall'operatore pipeline (|) al cmdlet Format-List, il quale formatta l'oggetto come un elenco delle relative proprietà. L'operatore di reindirizzamento e aggiunta (>>) reindirizza l'output al file services.txt, dove viene aggiunto alla fine del contenuto esistente.
Esempio 4
C:\PS># start-service
Descrizione
-----------
Questa serie di comandi illustra come avviare un servizio quando il tipo di avvio del servizio è "Disabled". Il primo comando, che utilizza il cmdlet Start-Service per avviare il servizio Telnet (tlntsvr), ha esito negativo.
C:\PS>start-service tlntsvr
Start-Service: Impossibile avviare il servizio 'Telnet (TlntSvr)' a causa del seguente errore: Impossibile avviare il servizio TlntSvr sul computer.
At line:1 char:14
+ start-service <<<< tlntsvr
Tramite il secondo comando viene utilizzato il cmdlet Get-WmiObject per ottenere il servizio Tlntsvr. Tramite questo comando viene recuperato un oggetto con la proprietà del tipo di avvio nel campo StartMode. La visualizzazione risultante rivela che il tipo di avvio del servizio Tlntsvr è "Disabled".
C:\PS> get-wmiobject win32_service | where-object {$_.Name -eq "tlntsvr"}
ExitCode : 0
Name : TlntSvr
ProcessId : 0
StartMode : Disabled
State : Stopped
Status : OK
Tramite il comando successivo viene utilizzato il cmdlet Set-Service per modificare il tipo di avvio del servizio Tlntsvr su "Manual".
C:\PS> set-service tlntsvr -startuptype manual
A questo punto, è possibile inviare nuovamente il comando Start-Service. Questa volta il comando avrà esito positivo.
C:\PS> start-service tlntsvr
Per accertare il corretto funzionamento del comando, utilizzare Get-Service.
Vedere anche
Concetti
Get-Service
Suspend-Service
Stop-Service
Restart-Service
Resume-Service
Set-Service
New-Service