Stop-Computer
Arresta (spegne) computer locali e remoti.
Sintassi
Stop-Computer
[-WsmanAuthentication <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il Stop-Computer
cmdlet arresta il computer locale e i computer remoti.
È possibile usare i parametri di per specificare i livelli di Stop-Computer
autenticazione e le credenziali alternative e per forzare un arresto immediato.
In PowerShell 7.1 Stop-Computer
è stato aggiunto per Linux e macOS. I parametri non hanno alcun effetto su queste piattaforme. Il cmdlet chiama semplicemente il comando /sbin/shutdown
nativo .
Esempio
Esempio 1: Arrestare il computer locale
In questo esempio viene arrestato il computer locale.
Stop-Computer -ComputerName localhost
Esempio 2: Arrestare due computer remoti e il computer locale
In questo esempio vengono arrestati due computer remoti e il computer locale.
Stop-Computer -ComputerName "Server01", "Server02", "localhost"
Stop-Computer
utilizza il parametro ComputerName per specificare due computer remoti e il computer locale. Ogni computer viene arrestato.
Esempio 3: Arrestare i computer remoti come processo in background
In questo esempio viene Stop-Computer
eseguito come processo in background in due computer remoti.
L'operatore &
in background esegue il Stop-Computer
comando come processo in background. Per altre informazioni, vedere about_Operators.
$j = Stop-Computer -ComputerName "Server01", "Server02" &
$results = $j | Receive-Job
$results
Stop-Computer
utilizza il parametro ComputerName per specificare due computer remoti. L'operatore &
in background esegue il comando come processo in background. Gli oggetti processo vengono archiviati nella $j
variabile .
Gli oggetti processo nella $j
variabile vengono inviati alla pipeline a Receive-Job
, che ottiene i risultati del processo. Gli oggetti vengono archiviati nella $results
variabile . La $results
variabile visualizza le informazioni sul processo nella console di PowerShell.
Esempio 4: Arrestare un computer remoto
In questo esempio viene arrestato un computer remoto usando l'autenticazione specificata.
Stop-Computer -ComputerName "Server01" -WsmanAuthentication Kerberos
Stop-Computer
utilizza il parametro ComputerName per specificare il computer remoto. Il parametro WsmanAuthentication specifica l'uso di Kerberos per stabilire una connessione remota.
Esempio 5: Arrestare i computer in un dominio
In questo esempio, i comandi forzano l'arresto immediato di tutti i computer in un dominio specificato.
$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -Credential $c
Get-Content
usa il parametro Path per ottenere un file nella directory corrente con l'elenco dei computer di dominio. Gli oggetti vengono archiviati nella $s
variabile .
Get-Credential
usa il parametro Credential per specificare le credenziali di un amministratore di dominio. Le credenziali vengono archiviate nella $c
variabile .
Stop-Computer
arresta i computer specificati con l'elenco di computer del parametro ComputerName nella $s
variabile . Il parametro Force forza un arresto immediato. Il parametro Credential invia le credenziali salvate nella $c
variabile.
Parametri
-ComputerName
Specifica i computer da arrestare. Il valore predefinito è il computer locale.
Digitare il nome NETBIOS, un indirizzo IP o un nome di dominio completo di uno o più computer in un elenco delimitato da virgole. Per specificare il computer locale, digitare il nome del computer o localhost.
Questo parametro non si basa sulla comunicazione remota di PowerShell. È possibile usare il parametro ComputerName anche se il computer non è configurato per l'esecuzione di comandi remoti.
Tipo: | String[] |
Alias: | CN, __SERVER, Server, IPAddress |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-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 |
-Credential
Specifica un account utente autorizzato a eseguire questa azione. Il valore predefinito è l'utente corrente.
Digitare un nome utente, ad esempio User01 o Domain01\User01, oppure immettere un oggetto PSCredential generato dal Get-Credential
cmdlet. Se si digita un nome utente, viene richiesto di immettere la password.
Le credenziali vengono archiviate in un oggetto PSCredential e la password viene archiviata come SecureString.
Nota
Per altre informazioni sulla protezione dei dati SecureString , vedere How secure is SecureString?.
Tipo: | PSCredential |
Posizione: | 1 |
Valore predefinito: | Current user |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Force
Forza un arresto immediato del computer.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | False |
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 |
-WsmanAuthentication
Specifica il meccanismo utilizzato per autenticare le credenziali utente quando questo cmdlet usa il protocollo WSMan. Il valore predefinito è Default.
I valori validi per questo parametro sono:
- Di base
- CredSSP
- Predefiniti
- Digest
- Kerberos
- Negoziare.
Per altre informazioni sui valori di questo parametro, vedere AuthenticationMechanism.
Attenzione
L'autenticazione CredSSP (Credential Security Service Provider), in cui le credenziali utente vengono passate a un computer remoto da autenticare, è progettato per i comandi che richiedono l'autenticazione su più di una risorsa, ad esempio l'accesso a una condivisione di rete remota. Questo meccanismo aumenta il rischio per la sicurezza dell'operazione remota. Se infatti il computer remoto viene compromesso, le credenziali che gli vengono passate possono essere usate per controllare la sessione di rete.
Questo parametro è stato introdotto in PowerShell 3.0.
Tipo: | String |
Valori accettati: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
Posizione: | Named |
Valore predefinito: | Default |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
None
Non è possibile inviare tramite pipe oggetti a questo cmdlet.
Output
None
Questo cmdlet non restituisce output.
Note
Questo cmdlet usa il Win32Shutdown
metodo della Win32_OperatingSystem
classe WMI. Questo metodo richiede che il SeShutdownPrivilege
privilegio sia abilitato per l'account utente usato per arrestare il computer.
In PowerShell 7.1 Stop-Computer
è stato aggiunto per Linux e macOS. Per queste piattaforme, il cmdlet chiama il comando /sbin/shutdown
nativo .