Stop-Computer
Encerra (desliga) computadores locais e remotos.
Sintaxe
Stop-Computer
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O Stop-Computer
cmdlet desliga o computador local e os computadores remotos.
Você pode usar os parâmetros de para executar as operações de desligamento como um trabalho em segundo plano, para especificar os níveis de Stop-Computer
autenticação e credenciais alternativas, para limitar as conexões simultâneas criadas para executar o comando e para forçar um desligamento imediato.
Esse cmdlet não requer comunicação remota do PowerShell, a menos que você use o parâmetro AsJob .
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.
$j = Stop-Computer -ComputerName "Server01", "Server02" -AsJob
$results = $j | Receive-Job
$results
Stop-Computer
usa o parâmetro ComputerName para especificar dois computadores remotos. O parâmetro AsJob executa o comando como um trabalho em segundo plano. Os objetos de trabalho são armazenados na $j
variável.
Os objetos de trabalho na $j
variável são enviados pelo pipeline para Receive-Job
, que obtém os resultados do trabalho. Os objetos são armazenados na $results
variável. A $results
variável exibe as informações do trabalho no console do PowerShell.
Como AsJob cria o trabalho no computador local e retorna automaticamente os resultados para o computador local, você pode executar Receive-Job
como um comando local.
Exemplo 4: Desligar um computador remoto
Este exemplo desliga um computador remoto usando a autenticação especificada.
Stop-Computer -ComputerName "Server01" -Impersonation Anonymous -DcomAuthentication PacketIntegrity
Stop-Computer
usa o parâmetro ComputerName para especificar o computador remoto. O parâmetro Impersonation especifica uma representação personalizada e o parâmetro DcomAuthentication especifica configurações de nível de autenticação.
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 -ThrottleLimit 10 -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 $s
variável.
Get-Credential
usa o parâmetro Credential para especificar as credenciais de um administrador de domínio. As credenciais são armazenadas na $c
variável.
Stop-Computer
desliga os computadores especificados com a lista de computadores do parâmetro ComputerName na $s
variável. O parâmetro Force força um desligamento imediato. O parâmetro ThrottleLimit limita o comando a 10 conexões simultâneas. O parâmetro Credential envia as credenciais salvas na $c
variável.
Parâmetros
-AsJob
Indica que esse cmdlet é executado como um trabalho em segundo plano.
Para usar esse parâmetro, os computadores locais e remotos devem ser configurados para comunicação remota e, no Windows Vista e versões posteriores do sistema operacional Windows, você deve abrir o PowerShell usando a opção Executar como administrador . Para obter mais informações, confira about_Remote_Requirements.
Quando você especifica o parâmetro AsJob , o comando retorna imediatamente um objeto que representa o trabalho em segundo plano. É possível continuar a trabalhar na sessão enquanto o trabalho é concluído. O trabalho é criado no computador local e os resultados de computadores remotos são retornados automaticamente para o computador local. Para obter os resultados do trabalho, use o Receive-Job
cmdlet.
Para obter mais informações sobre trabalhos em segundo plano do PowerShell, consulte about_Jobs e about_Remote_Jobs.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ComputerName
Especifica os computadores a serem interrompidos. O padrão é o computador local.
Digite o nome da 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 que seu computador não esteja 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 sua 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 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 Get-Credential
cmdlet. 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.
Observação
Para obter mais informações sobre a proteção de dados do SecureString , consulte Quão seguro é o SecureString?.
Tipo: | PSCredential |
Cargo: | 1 |
Valor padrão: | Current user |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-DcomAuthentication
Especifica o nível de autenticação que esse cmdlet usa com o WMI. Stop-Computer
usa WMI. O valor padrão é Pacote.
Os valores aceitáveis para esse parâmetro são:
- Padrão: Autenticação do Windows.
- Nenhum: nenhuma autenticação COM.
- Conectar: autenticação COM no nível de conexão.
- Chamada: autenticação COM no nível da chamada.
- Pacote: autenticação COM em nível de pacote.
- PacketIntegrity: autenticação COM no nível de integridade do pacote.
- PacketPrivacy: autenticação COM no nível de privacidade do pacote.
- Inalterado: o mesmo que o comando anterior.
Para obter mais informações sobre os valores desse parâmetro, consulte AuthenticationLevel.
Tipo: | AuthenticationLevel |
Aliases: | Authentication |
Valores aceitos: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Cargo: | Named |
Valor padrão: | Packet |
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 |
-Impersonation
Especifica o nível de representação a ser usado quando esse cmdlet chama WMI. O valor padrão é Representar.
Stop-Computer
usa WMI. Os valores aceitáveis para esse parâmetro são:
- Padrão: representação padrão.
- Anônimo: oculta a identidade do chamador.
- Identificar: permite que os objetos consultem as credenciais do chamador.
- Representar: permite que os objetos usem as credenciais do chamador.
Tipo: | ImpersonationLevel |
Valores aceitos: | Default, Anonymous, Identify, Impersonate, Delegate |
Cargo: | Named |
Valor padrão: | Impersonate |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Protocol
Especifica o protocolo a ser usado para reiniciar os computadores. Os valores aceitáveis para este parâmetro são: WSMan e DCOM. O valor padrão é DCOM.
Esse parâmetro foi introduzido no PowerShell 3.0.
Tipo: | String |
Valores aceitos: | DCOM, WSMan |
Cargo: | Named |
Valor padrão: | DCOM |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-ThrottleLimit
Especifica o número máximo de conexões simultâneas que podem ser estabelecidas para executar o comando. Se você omite esse parâmetro ou digita um valor 0, o valor padrão, 32, é usado.
O limite de aceleração aplica-se somente ao comando atual e não à sessão ou ao computador.
Tipo: | Int32 |
Cargo: | Named |
Valor padrão: | None |
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 é Default.
Os valores aceitáveis para esse parâmetro são:
- Basic
- Fornecedor de suporte à segurança de credenciais
- Padrão
- Digest
- Kerberos
- Negociar.
Para obter mais informações sobre os valores desse parâmetro, consulte AuthenticationMechanism.
Cuidado
A autenticação do Provedor de Serviços de Segurança de Credenciais (CredSSP), na qual as credenciais do usuário são passadas para um computador remoto para serem autenticadas, 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 que são passadas a ele podem 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 canalizar objetos para esse cmdlet.
Saídas
None
Por padrão, esse cmdlet não retorna nenhuma saída.
System.Management.Automation.RemotingJob
Quando você usa o parâmetro AsJob , esse cmdlet retorna um objeto RemotingJob .
Observações
Esse cmdlet usa o método Win32Shutdown
Win32_OperatingSystem
da classe WMI. Esse método requer que o SeShutdownPrivilege
privilégio esteja habilitado para a conta de usuário usada para desligar a máquina.