Stop-Computer
Arresta (arresta) computer locali e remoti.
Sintassi
Stop-Computer
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il cmdlet Stop-Computer
arresta il computer locale e i computer remoti.
È possibile usare i parametri di Stop-Computer
per eseguire le operazioni di arresto come processo in background, per specificare i livelli di autenticazione e le credenziali alternative, per limitare le connessioni simultanee create per eseguire il comando e per forzare l'arresto immediato.
Questo cmdlet non richiede la comunicazione remota di PowerShell a meno che non si usi il parametro AsJob.
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
usa 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, Stop-Computer
viene eseguito come processo in background in due computer remoti.
$j = Stop-Computer -ComputerName "Server01", "Server02" -AsJob
$results = $j | Receive-Job
$results
Stop-Computer
usa il parametro ComputerName per specificare due computer remoti. Il parametro asjob esegue il comando come processo in background. Gli oggetti processo vengono archiviati nella variabile $j
.
Gli oggetti processo nella variabile $j
vengono inviati nella pipeline a Receive-Job
, che ottiene i risultati del processo. Gli oggetti vengono archiviati nella variabile $results
. La variabile $results
visualizza le informazioni sul processo nella console di PowerShell.
Poiché AsJob crea il processo nel computer locale e restituisce automaticamente i risultati al computer locale, è possibile eseguire Receive-Job
come comando locale.
Esempio 4: Arrestare un computer remoto
In questo esempio viene arrestato un computer remoto usando l'autenticazione specificata.
Stop-Computer -ComputerName "Server01" -Impersonation Anonymous -DcomAuthentication PacketIntegrity
Stop-Computer
usa il parametro nomecomputer per specificare il computer remoto. Il parametro rappresentazione specifica una rappresentazione personalizzata e il parametro DcomAuthentication specifica le impostazioni a livello di autenticazione.
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 -ThrottleLimit 10 -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 variabile $s
.
Get-Credential
usa il parametro credenziali per specificare le credenziali di un amministratore di dominio. Le credenziali vengono archiviate nella variabile $c
.
Stop-Computer
arresta i computer specificati con l'elenco dei computer NomeComputer nella variabile $s
. Il parametro Force forza un arresto immediato. Il parametro ThrottleLimit limita il comando a 10 connessioni simultanee. Il parametro credenziali invia le credenziali salvate nella variabile $c
.
Parametri
-AsJob
Indica che questo cmdlet viene eseguito come processo in background.
Per usare questo parametro, i computer locali e remoti devono essere configurati per la comunicazione remota e, in Windows Vista e versioni successive del sistema operativo Windows, è necessario aprire PowerShell usando l'opzione Esegui come amministratore. Per altre informazioni, vedere about_Remote_Requirements.
Quando si specifica il parametro AsJob , il comando restituisce immediatamente un oggetto che rappresenta il processo in background. È possibile continuare a lavorare nella sessione mentre il processo viene completato. Il processo viene creato nel computer locale e i risultati dei computer remoti vengono restituiti automaticamente al computer locale. Per ottenere i risultati del processo, usare il Receive-Job
cmdlet .
Per altre informazioni sui processi in background di PowerShell, vedere about_Jobs e about_Remote_Jobs.
Tipo: | SwitchParameter |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-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 sul remoting di PowerShell. È possibile usare il parametro ComputerName anche se il computer non è configurato per eseguire 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\User01oppure immettere un oggetto PSCredential generato dal cmdlet Get-Credential
. 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 ulteriori informazioni sulla protezione dei dati di SecureString, vedere Quanto è sicuro SecureString?.
Tipo: | PSCredential |
Posizione: | 1 |
Valore predefinito: | Current user |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-DcomAuthentication
Specifica il livello di autenticazione usato da questo cmdlet con WMI. Test-Connection
usa WMI. Il valore predefinito è Packet.
I valori accettabili per questo parametro sono:
- predefinita: autenticazione di Windows.
- Nessuna: nessuna autenticazione COM.
- Connect: autenticazione COM a livello di connessione.
- Chiamare: autenticazione COM a livello di chiamata.
- pacchetti: autenticazione COM a livello di pacchetto.
- PacketIntegrity: autenticazione COM a livello di integrità dei pacchetti.
- PacketPrivacy: autenticazione COM a livello di privacy dei pacchetti.
- Non modificato: uguale al comando precedente.
Per altre informazioni sui valori di questo parametro, vedere AuthenticationLevel.
Tipo: | AuthenticationLevel |
Alias: | Authentication |
Valori accettati: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Posizione: | Named |
Valore predefinito: | Packet |
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 |
-Impersonation
Specifica il livello di rappresentazione da utilizzare quando questo cmdlet chiama WMI. Il valore predefinito è Impersonate.
Test-Connection
usa WMI. I valori accettabili per questo parametro sono:
- predefinita: rappresentazione predefinita.
- anonimo: nasconde l'identità del chiamante.
- Identificare: consente agli oggetti di eseguire query sulle credenziali del chiamante.
- Rappresenta: consente agli oggetti di usare le credenziali del chiamante.
Tipo: | ImpersonationLevel |
Valori accettati: | Default, Anonymous, Identify, Impersonate, Delegate |
Posizione: | Named |
Valore predefinito: | Impersonate |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Protocol
Specifica il protocollo da utilizzare per riavviare i computer. I valori accettabili per questo parametro sono: WSMan e DCOM. Il valore predefinito è DCOM.
Questo parametro è stato introdotto in PowerShell 3.0.
Tipo: | String |
Valori accettati: | DCOM, WSMan |
Posizione: | Named |
Valore predefinito: | DCOM |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-ThrottleLimit
Specifica il numero massimo di connessioni simultanee che è possibile stabilire per eseguire il comando. Se si omette questo parametro o si immette un valore pari a 0, viene usato il valore predefinito 32.
Questo valore limite si applica solo al comando corrente, non alla sessione o al computer.
Tipo: | Int32 |
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 |
-WsmanAuthentication
Specifica il meccanismo utilizzato per autenticare le credenziali utente quando questo cmdlet usa il protocollo WSMan. Il valore predefinito è Default.
I valori accettabili per questo parametro sono:
- Di base
- CredSSP
- Valore predefinito
- Riassunto
- 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 di sicurezza dell'operazione remota. Se il computer remoto viene compromesso, è possibile usare le credenziali passate 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
Gli oggetti non possono essere inviati tramite pipe a questo cmdlet.
Output
None
Per impostazione predefinita, questo cmdlet non restituisce alcun output.
System.Management.Automation.RemotingJob
Quando si usa il parametro asJob di, questo cmdlet restituisce un oggetto remotingJob.
Note
Questo cmdlet usa il metodo win32Shutdown della classe WMI Win32_OperatingSystem. Questo metodo richiede che il privilegio SeShutdownPrivilege
sia abilitato per l'account utente usato per arrestare il computer.