Stop-Computer
Para (desliga) computadores locais e remotos.
Sintaxe
Stop-Computer
[-WsmanAuthentication <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O cmdlet Stop-Computer
desliga o computador local e os computadores remotos.
Você pode usar os parâmetros de Stop-Computer
para especificar os níveis de autenticação e credenciais alternativas e forçar um desligamento imediato.
No PowerShell 7.1, Stop-Computer
foi adicionado para Linux e macOS. Os parâmetros não têm efeito nessas plataformas. O cmdlet está apenas chamando o comando nativo /sbin/shutdown
.
Exemplos
Exemplo 1: desligar o computador local
Este exemplo desliga o computador local.
Stop-Computer -ComputerName localhost
Exemplo 2: desligar dois computadores remotos e o computador local
Este exemplo interrompe dois computadores remotos e o computador local.
Stop-Computer -ComputerName "Server01", "Server02", "localhost"
Stop-Computer
usa o parâmetro ComputerName para especificar dois computadores remotos e o computador local. Cada computador é desligado.
Exemplo 3: Desligar computadores remotos como um trabalho em segundo plano
Neste exemplo, Stop-Computer
é executado como um trabalho em segundo plano em dois computadores remotos.
O operador em segundo plano &
executa o comando Stop-Computer
como um trabalho em segundo plano. Para obter mais informações, consulte about_Operators.
$j = Stop-Computer -ComputerName "Server01", "Server02" &
$results = $j | Receive-Job
$results
Stop-Computer
usa o parâmetro ComputerName para especificar dois computadores remotos. O operador de plano de fundo &
executa o comando como um trabalho em segundo plano. Os objetos de trabalho são armazenados na variável $j
.
Os objetos de trabalho na variável $j
são enviados pelo pipeline para Receive-Job
, que obtém os resultados do trabalho. Os objetos são armazenados na variável $results
. A variável $results
exibe as informações do trabalho no console do PowerShell.
Exemplo 4: desligar um computador remoto
Este exemplo desliga um computador remoto usando a autenticação especificada.
Stop-Computer -ComputerName "Server01" -WsmanAuthentication Kerberos
Stop-Computer
usa o parâmetro ComputerName para especificar o computador remoto. O parâmetro WsmanAuthentication especifica usar Kerberos para estabelecer uma conexão remota.
Exemplo 5: desligar computadores em um domínio
Neste exemplo, os comandos forçam um desligamento imediato de todos os computadores em um domínio especificado.
$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -Credential $c
Get-Content
usa o parâmetro Path para obter um arquivo no diretório atual com a lista de computadores de domínio. Os objetos são armazenados na variável $s
.
Get-Credential
usa o parâmetro Credential para especificar as credenciais de um administrador de domínio. As credenciais são armazenadas na variável $c
.
Stop-Computer
desliga os computadores especificados com a lista de computadores do parâmetro ComputerName na variável $s
. O parâmetro Force força um desligamento imediato. O parâmetro de Credenciais envia as credenciais salvas na variável $c
.
Parâmetros
-ComputerName
Especifica os computadores a serem interrompidos. O padrão é o computador local.
Digite o nome NETBIOS, o endereço IP ou o nome de domínio totalmente qualificado de um ou mais computadores em uma lista separada por vírgulas. Para especificar o computador local, digite o nome do computador ou localhost.
Esse parâmetro não depende da comunicação remota do PowerShell. Você pode usar o parâmetro ComputerName mesmo se o computador não estiver configurado para executar comandos remotos.
Tipo: | String[] |
Aliases: | CN, __SERVER, Server, IPAddress |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-Confirm
Solicita a confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Credential
Especifica uma conta de usuário que tem permissão para fazer essa ação. O padrão é o usuário atual.
Digite um nome de usuário, como user01 ou Domain01\User01, ou insira um objeto PSCredential gerado pelo cmdlet Get-Credential
. Se você digitar um nome de usuário, será solicitado que você insira a senha.
As credenciais são armazenadas em um objeto PSCredential e a senha é armazenada como um SecureString.
Nota
Para obter mais informações sobre proteção de dados SecureString, consulte Quão seguro é SecureString?.
Tipo: | PSCredential |
Cargo: | 1 |
Valor padrão: | Current user |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Force
Força um desligamento imediato do computador.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-WsmanAuthentication
Especifica o mecanismo usado para autenticar as credenciais do usuário quando esse cmdlet usa o protocolo WSMan. O valor padrão é Padrão.
Os valores aceitáveis para este parâmetro são:
- Básico
- CredSSP
- Inadimplência
- Digerir
- Kerberos
- Negociar.
Para obter mais informações sobre os valores desse parâmetro, consulte AuthenticationMechanism.
Cuidado
A autenticação credSSP (Provedor de Serviços de Segurança de Credencial), na qual as credenciais do usuário são passadas para um computador remoto a ser autenticado, foi projetada para comandos que exigem autenticação em mais de um recurso, como acessar um compartilhamento de rede remoto. Esse mecanismo aumenta o risco de segurança da operação remota. Se o computador remoto estiver comprometido, as credenciais passadas para ele poderão ser usadas para controlar a sessão de rede.
Esse parâmetro foi introduzido no PowerShell 3.0.
Tipo: | String |
Valores aceitos: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
Cargo: | Named |
Valor padrão: | Default |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
None
Você não pode redirecionar objetos para este cmdlet.
Saídas
None
Esse cmdlet não retorna nenhuma saída.
Observações
Este cmdlet usa o
Win32Shutdown
método da classe WMI Win32_OperatingSystem
. Esse método requer que o privilégio de SeShutdownPrivilege
seja habilitado para a conta de usuário usada para desligar o computador.
No PowerShell 7.1, Stop-Computer
foi adicionado para Linux e macOS. Para essas plataformas, o cmdlet chama o comando nativo /sbin/shutdown
.