Condividi tramite


Stop-Computer

Arresta (arresta) computer locali e remoti.

Sintassi

All

Stop-Computer
    [[-ComputerName] <String[]>]
    [[-Credential] <PSCredential>]
    [-AsJob]
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [-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 al termine del processo. 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.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:

String[]

Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:Cina, __SERVER, Servidor, Indirizzo IP

Set di parametri

(All)
Posizione:0
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Annotazioni

Per ulteriori informazioni sulla protezione dei dati di SecureString, vedere Quanto è sicuro SecureString?.

Proprietà dei parametri

Tipo:PSCredential
Valore predefinito:Current user
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:1
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:AuthenticationLevel
Valore predefinito:Packet
Valori accettati:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Supporta i caratteri jolly:False
DontShow:False
Alias:Autenticazione

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Force

Forza un arresto immediato del computer.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:ImpersonationLevel
Valore predefinito:Impersonate
Valori accettati:Default, Anonymous, Identify, Impersonate, Delegate
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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.

Proprietà dei parametri

Tipo:String
Valore predefinito:DCOM
Valori accettati:DCOM, WSMan
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-ThrottleLimit

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 usato il valore predefinito 32.

Il limite di limitazione si applica solo al comando corrente, non alla sessione o al computer.

Proprietà dei parametri

Tipo:Int32
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti: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:

  • Fondamentale
  • CredSSP
  • Predefinito
  • Sommario
  • 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.

Proprietà dei parametri

Tipo:String
Valore predefinito:Default
Valori accettati:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

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.