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




Argomenti della Guida