Riavvia il sistema operativo nei computer locali e remoti.
Sintassi
Restart-Computer [[-ComputerName] <string[]>] [[-Credential] <PSCredential>] [-AsJob] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Force] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]
Descrizione
Il cmdlet Restart-Computer riavvia il sistema operativo nei computer locali e remoti.
È possibile utilizzare i parametri di Restart-Computer per eseguire le operazioni di riavvio come processo in background, per specificare i livelli di autenticazione e le credenziali alternative, per limitare le operazioni eseguite contemporaneamente e per forzare un riavvio immediato.
Per questo cmdlet non è richiesta la comunicazione remota di Windows PowerShell a meno che non si utilizzi il parametro AsJob.
Parametri
-AsJob
Esegue il comando come processo in background.
Nota: per utilizzare questo parametro, è necessario che il computer locale e quello remoto siano configurati per la comunicazione remota e, in Windows Vista e nelle versioni successive di Windows, è necessario aprire Windows PowerShell con l'opzione "Esegui come amministratore". Per ulteriori informazioni, vedere about_Remote_Requirements.
Quando si utilizza il parametro AsJob, il comando restituisce immediatamente un oggetto che rappresenta il processo in background. È possibile continuare a utilizzare la sessione durante il completamento del processo. Il processo viene creato nel computer locale e i risultati dei computer remoti vengono automaticamente restituiti nel computer locale. Per gestire il processo, utilizzare i cmdlet Job. Per ottenere i risultati del processo, utilizzare il cmdlet Receive-Job.
Per ulteriori informazioni sui processi in background di Windows PowerShell, vedere about_Jobs e about_Remote_Jobs.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Authentication <AuthenticationLevel>
Specifica il livello di autenticazione utilizzato per la connessione WMI. Restart-Computer utilizza WMI. Il valore predefinito è Packet.
I valori validi sono:
Unchanged: il livello di autenticazione è lo stesso del comando precedente.
Default: autenticazione Windows
None: nessuna autenticazione COM
Connect: autenticazione COM a livello di connessione
Call: autenticazione COM a livello di chiamata
Packet: autenticazione COM a livello di pacchetto
PacketIntegrity: autenticazione COM a livello di integrità del pacchetto
PacketPrivacy: autenticazione COM a livello di privacy del pacchetto
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
4 |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-ComputerName <string[]>
Specifica uno o più computer remoti. Il valore predefinito è il computer locale.
Digitare il nome NETBIOS, un indirizzo IP o un nome di dominio completo di un computer remoto. Per specificare il computer locale, digitare il nome del computer, un punto (.) o "localhost".
Questo parametro non si basa sulla comunicazione remota di Windows PowerShell. È possibile utilizzare il parametro ComputerName anche se il computer non è configurato per l'esecuzione di comandi remoti.
Obbligatorio? |
false |
Posizione? |
1 |
Valore predefinito |
. |
Accettare input da pipeline? |
true (ByPropertyName) |
Accettare caratteri jolly? |
false |
-Credential <PSCredential>
Specifica un account utente con autorizzazione per l'esecuzione di questa azione. Il valore predefinito è l'utente corrente.
Digitare un nome utente, ad esempio "Utente01" o "Dominio01\Utente01", o immettere un oggetto PSCredential, ad esempio uno ottenuto dal cmdlet Get-Credential.
Obbligatorio? |
false |
Posizione? |
2 |
Valore predefinito |
Current user |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Force
Forza un riavvio immediato dei computer.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
False |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Impersonation <ImpersonationLevel>
Specifica il livello di rappresentazione da utilizzare per le chiamate WMI. Restart-Computer utilizza WMI. Il valore predefinito è "Impersonate".
I valori validi sono:
Default: rappresentazione predefinita.
Anonymous: nasconde l'identità del chiamante.
Identify: consente agli oggetti di eseguire query delle credenziali del chiamante.
Impersonate: consente agli oggetti di utilizzare le credenziali del chiamante.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
Impersonate |
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-ThrottleLimit <int>
Specifica il numero massimo di connessioni simultanee che è possibile stabilire per eseguire questo comando. Se si omette questo parametro o si immette un valore pari a 0, viene utilizzato il valore predefinito 32.
Il limite di velocità si applica solo al comando corrente, non alla sessione o al computer.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
32 |
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 |
Nessuno Non è possibile reindirizzare l'input a questo cmdlet. |
Output |
Nessuno o System.Management.Automation.RemotingJob Quando si utilizza il parametro AsJob, il cmdlet restituisce un oggetto processo. In caso contrario, non genera alcun output. |
Note
Questo cmdlet utilizza il metodo Win32Shutdown della classe WMI WIN32_OperatingSystem.
Esempio 1
C:\PS>restart-computer Descrizione ----------- Con questo comando viene riavviato il computer locale.
Esempio 2
C:\PS>restart-computer -computername Server01, Server02, localhost Descrizione ----------- Con questo comando vengono riavviati due computer remoti, Server01 e Server02, e il computer locale, identificato come "localhost".
Esempio 3
C:\PS>$j = restart-computer -computername Server01, Server02 -asjob C:\PS> $results = $j | receive-job C:\PS> $results Descrizione ----------- Con questi comandi viene eseguito un comando Restart-Computer come processo in background nei due computer remoti, quindi si ottengono i risultati. Nel primo comando viene utilizzato il parametro AsJob per eseguire il comando come processo in background. L'oggetto processo risultante viene salvato nella variabile $j. Nel secondo comando viene utilizzato un operatore pipeline per inviare l'oggetto processo in $j al cmdlet Receive-Job, tramite cui vengono ottenuti i risultati del processo. I risultati vengono salvati nella variabile $results. Nel terzo comando vengono visualizzati i risultati salvati nella variabile $results. Poiché il parametro AsJob crea il processo nel computer locale e restituisce automaticamente i risultati al computer locale, è possibile eseguire il comando Receive-Job come comando locale.
Esempio 4
C:\PS>restart-computer -comp Server01 -impersonation anonymous -authentication PacketIntegrity Descrizione ----------- Con questo comando viene riavviato il computer remoto Server01. Vengono utilizzate la rappresentazione personalizzata e le impostazioni di autenticazione.
Esempio 5
C:\PS>$s = get-content domain01.txt C:\PS> $c = get-credential domain01\admin01 C:\PS> restart-computer -computername $s -force -throttlelimit 10 -credential $c Descrizione ----------- Questi comandi forzano un riavvio immediato in tutti i computer di Dominio01. Il primo comando ottiene un elenco di computer nel dominio che viene salvato nella variabile $s. Il secondo comando ottiene le credenziali di un amministratore di dominio che vengono salvate nella variabile $c. Il terzo comando riavvia i computer. Vengono utilizzati il parametro ComputerName per inviare l'elenco di computer nella variabile $s, il parametro Force per forzare un riavvio immediato e il parametro Credential per inviare le credenziali salvate nella variabile $c. Viene inoltre utilizzato il parametro ThrottleLimit per limitare il comando a 10 connessioni simultanee.
Vedere anche