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 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, para especificar os níveis de autenticação e credenciais alternativas, para limitar as conexões simultâneas que são criadas para executar o comando e para forçar um desligamento imediato.
Este cmdlet não requer comunicação remota do Windows PowerShell, a menos que você use o parâmetro AsJob.
Exemplos
Exemplo 1: Desligue o computador local
PS C:\> Stop-Computer
Este comando desliga o computador local.
Exemplo 2: Desligue dois computadores remotos e o computador local
PS C:\> Stop-Computer -ComputerName "Server01", "Server02", "localhost"
Este comando para dois computadores remotos, Server01 e Server02, e o computador local, identificado 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, obter 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 Receive-Job como um comando local.
Exemplo 4: Desligar um computador remoto
PS C:\> Stop-Computer -CompupterName "Server01" -Impersonation anonymous -Authentication PacketIntegrity
Este comando para 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, em seguida, armazena-os na variável $s.
O segundo comando obtém as credenciais de um administrador de domínio e, em seguida, armazena-as na variável $c.
O terceiro comando desliga os computadores.
Ele usa parâmetro ComputerName para enviar a lista de computadores na variável $s, o parâmetro Force para forçar um desligamento imediato e o parâmetro Credential para enviar as credenciais salvas na variável $c.
Ele também usa o parâmetro
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 em 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 termina. 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 |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-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 Windows PowerShell. Você pode usar o parâmetro ComputerName mesmo que o computador não esteja configurado para executar comandos remotos.
Tipo: | String[] |
Aliases: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | True |
Aceitar carateres universais: | False |
-Confirm
Solicita confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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, como um do cmdlet Get-Credential.
Tipo: | PSCredential |
Position: | 1 |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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
- Nenhuma. Sem autenticação COM
- Conecte-se. Autenticação COM no nível de conexão
- Ligue. 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 de pacotes
- 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 aceites: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Force
Força um desligamento imediato dos computadores.
Tipo: | SwitchParameter |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Impersonation
Especifica o nível de representação a ser usado quando esse cmdlet chamar 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.
- Identifique. 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 aceites: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-Protocol
Especifica qual protocolo usar 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 Windows PowerShell 3.0.
Tipo: | String |
Valores aceites: | DCOM, WSMan |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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 aceleração aplica-se apenas ao comando atual, não à sessão ou ao computador.
Tipo: | Int32 |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | 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
- Resumo
- 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 (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 Windows PowerShell 3.0.
Tipo: | String |
Valores aceites: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
Position: | Named |
Default value: | None |
Necessário: | False |
Aceitar entrada de pipeline: | False |
Aceitar carateres universais: | False |
Entradas
None
Não é possível canalizar 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 gera nenhuma saída.
Notas
- Este 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/parando computadores remotos. No Windows PowerShell 3.0, a implementação é alterada para resolver esse problema.