Stop-Computer
Para (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 cmdlet stop-computer desliga os computadores remotamente. Ele também pode desligar o computador local.
Você pode usar os parâmetros de stop-computer para executar as operações de desligamento como um trabalho em segundo plano, especificar os níveis de autenticação e credenciais alternativas, limitar as conexões simultâneas criadas para executar o comando e forçar um desligamento imediato.
Esse cmdlet não requer comunicação remota do Windows PowerShell, a menos que você use o parâmetro
Exemplos
Exemplo 1: desligar o computador local
PS C:\> Stop-Computer
Esse comando desliga o computador local.
Exemplo 2: desligar dois computadores remotos e o computador local
PS C:\> Stop-Computer -ComputerName "Server01", "Server02", "localhost"
Esse comando interrompe dois computadores remotos, Server01 e Server02 e o computador local, identificados como localhost.
Exemplo 3: Desligar computadores remotos como um trabalho em segundo plano
PS C:\> $j = Stop-Computer -ComputerName "Server01", "Server02" -AsJob
PS C:\> $results = $j | Receive-Job
PS C:\> $results
Esses comandos são executados stop-computer como um trabalho em segundo plano em dois computadores remotos e, em seguida, obtêm os resultados.
O primeiro comando especifica o parâmetro AsJob para executar o comando como um trabalho em segundo plano. O comando salva o objeto de trabalho resultante na variável $j.
O segundo comando usa um operador de pipeline para enviar o objeto de trabalho em $j para receive-job, que obtém os resultados do trabalho. O comando salva os resultados na variável $results.
O terceiro comando exibe o resultado salvo na variável $results.
Como AsJob cria o trabalho no computador local e retorna automaticamente os resultados para o computador local, você pode executar de Trabalho De Recebimento como um comando local.
Exemplo 4: desligar um computador remoto
PS C:\> Stop-Computer -CompupterName "Server01" -Impersonation anonymous -Authentication PacketIntegrity
Esse comando interrompe o computador remoto Server01. O comando usa configurações personalizadas de representação e autenticação.
Exemplo 5:
PS C:\> $s = Get-Content Domain01.txt
PS C:\> $c = Get-Credential domain01\admin01
PS C:\> Stop-Computer -ComputerName $s -Force -ThrottleLimit 10 -Credential $c
Esses comandos forçam um desligamento imediato de todos os computadores no Domain01.
O primeiro comando obtém uma lista de computadores no domínio e os armazena na variável $s.
O segundo comando obtém as credenciais de um administrador de domínio e as armazena na variável $c.
O terceiro comando desliga os computadores.
Ele usa
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 Windows PowerShell usando a opção Executar como administrador. Para obter mais informações, consulte about_Remote_Requirements.
Quando você especifica o parâmetro AsJob, o comando retorna imediatamente um objeto que representa o trabalho em segundo plano. Você pode 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 cmdlet Receive-Job.
Para obter mais informações sobre trabalhos em segundo plano do Windows PowerShell, consulte about_Jobs e about_Remote_Jobs.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
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 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 Windows 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 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
Tipo: | PSCredential |
Cargo: | 1 |
Valor padrão: | None |
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. Os valores aceitáveis para este parâmetro são:
- Inadimplência. Autenticação do Windows
- Nenhum. Nenhuma autenticação COM
- Ligar. Autenticação COM no nível de conexão
- Chamar. Autenticação COM no nível de chamada
- Pacote. Autenticação COM no nível do 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
O valor padrão é Packet.
Para obter mais informações sobre os valores desse parâmetro, consulte de Enumeração AuthenticationLevel na biblioteca MSDN.
Tipo: | AuthenticationLevel |
Aliases: | Authentication |
Valores aceitos: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Force
Força um desligamento imediato dos computadores.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
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. stop-computer usa WMI. Os valores aceitáveis para este parâmetro são:
- Inadimplência. Representação padrão.
- Anônimo. Oculta a identidade do chamador.
- Identificar. Permite que os objetos consultem as credenciais do chamador.
- Personificar. Permite que os objetos usem as credenciais do chamador.
O valor padrão é Impersonate.
Tipo: | ImpersonationLevel |
Valores aceitos: | Default, Anonymous, Identify, Impersonate, Delegate |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Protocol
Especifica qual protocolo usar para reiniciar os computadores. Os valores aceitáveis para esse parâmetro são: WSMan e DCOM. O valor padrão é DCOM.
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Tipo: | String |
Valores aceitos: | DCOM, WSMan |
Cargo: | Named |
Valor padrão: | None |
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 esse comando. Se você omitir esse parâmetro ou inserir um valor de 0, o valor padrão, 32, será usado.
O limite de limitação se aplica somente ao comando atual, 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. Os valores aceitáveis para este parâmetro são:
- Básico
- CredSSP
- Inadimplência
- Digerir
- Kerberos
- Negociar.
O valor padrão é Default.
Para obter mais informações sobre os valores desse parâmetro, consulte de Enumeração AuthenticationMechanism na biblioteca MSDN.
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 Windows PowerShell 3.0.
Tipo: | String |
Valores aceitos: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
None
Não é possível redirecionar a entrada para este cmdlet.
Saídas
None or System.Management.Automation.RemotingJob
O cmdlet retorna um objeto System.Management.Automation.RemotingJob, se você especificar o parâmetro AsJob. Caso contrário, ele não gerará nenhuma saída.
Observações
- Esse cmdlet usa o método
Win32Shutdown da classe WMI Win32_OperatingSystem . - No Windows PowerShell 2.0, o parâmetro AsJob não funciona de forma confiável quando você está reiniciando/interrompendo computadores remotos. No Windows PowerShell 3.0, a implementação é alterada para resolver esse problema.