Stop-Computer
Para (desliga) computadores locais e remotos.
Sintaxe
All
Stop-Computer
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-WsmanAuthentication <String>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O cmdlet Stop-Computer desliga o computador local e os computadores remotos.
Você pode usar os parâmetros do Stop-Computer para especificar os níveis de autenticação e credenciais alternativas e para forçar um encerramento imediato.
No PowerShell 7.1, Stop-Computer foi adicionado para Linux e macOS. Os parâmetros não têm efeito sobre essas plataformas. O cmdlet está apenas chamando o comando nativo /sbin/shutdown.
Exemplos
Exemplo 1: Desligue o computador local
Este exemplo desliga o computador local.
Stop-Computer -ComputerName localhost
Exemplo 2: Desligue dois computadores remotos e o computador local
Este exemplo para 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 em segundo plano & 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 o uso de Kerberos para estabelecer uma conexão remota.
Exemplo 5: Desligar computadores num 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 Credential envia as credenciais salvas na variável $c.
Parâmetros
-ComputerName
Especifica os computadores a parar. O padrão é o computador local.
Digite o nome NETBIOS, endereço IP ou nome de domínio totalmente qualificado de um ou mais computadores em uma lista separada por vírgula. 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 que o computador não esteja configurado para executar comandos remotos.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | China, __SERVER, Servidor, Endereço de IP |
Conjuntos de parâmetros
(All)
| Position: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-Confirm
Solicita confirmação antes de executar o cmdlet.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Cf. |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Credential
Especifica uma conta de usuário que tem permissão para executar 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 escrever um nome de utilizador, ser-lhe-á pedido que introduza a palavra-passe.
As credenciais são armazenadas em um objeto de PSCredential
Observação
Para obter mais informações sobre SecureString proteção de dados, consulte Quão seguro é o SecureString?.
Propriedades dos parâmetros
| Tipo: | PSCredential |
| Default value: | Current user |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | 1 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Force
Força o desligamento imediato do computador.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Wi |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-WsmanAuthentication
Especifica o mecanismo usado para autenticar as credenciais do usuário quando esse cmdlet usa o protocolo WSMan. O valor padrão é Default.
Os valores aceitáveis para este parâmetro são:
- Básico
- CredSSP
- Inadimplência
- Resumo
- Kerberos
- Negociar.
Para obter mais informações sobre os valores desse parâmetro, consulte AuthenticationMechanism.
Atenção
A autenticação CredSSP (Credential Security Service Provider), na qual as credenciais do usuário são passadas para um computador remoto para ser autenticado, foi projetada para comandos que exigem autenticação em mais de um recurso, como acessar um compartilhamento de rede remoto. Este mecanismo aumenta o risco de segurança da operação remota. Se o computador remoto estiver comprometido, as credenciais que são passadas para ele podem ser usadas para controlar a sessão de rede.
Esse parâmetro foi introduzido no PowerShell 3.0.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | Default |
| Valores aceites: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
None
Não é possível canalizar objetos para este cmdlet.
Saídas
None
Este cmdlet não retorna nenhuma saída.
Notas
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 a máquina.
No PowerShell 7.1, Stop-Computer foi adicionado para Linux e macOS. Para essas plataformas, o cmdlet chama o comando nativo /sbin/shutdown.