Compartilhar via


Stop-Computer

Para (desliga) computadores locais e remotos.

Sintaxe

All

Stop-Computer
    [[-ComputerName] <String[]>]
    [[-Credential] <PSCredential>]
    [-AsJob]
    [-DcomAuthentication <AuthenticationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [-Impersonation <ImpersonationLevel>]
    [-ThrottleLimit <Int32>]
    [-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 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 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 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.

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 as 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 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 ThrottleLimit limita o comando a 10 conexões simultâneas. O parâmetro de Credenciais envia as credenciais salvas na variável $c.

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. 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 PowerShell, consulte about_Jobs e about_Remote_Jobs.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Este 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.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:China, __SERVIDOR, Servidor, Endereço IP

Conjuntos de parâmetros

(All)
Cargo:0
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:cf

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Observação

Para obter mais informações sobre a proteção de dados do SecureString, consulte Quão seguro é o SecureString?.

Propriedades do parâmetro

Tipo:PSCredential
Valor padrão:Current user
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:1
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-DcomAuthentication

Especifica o nível de autenticação que esse cmdlet usa com o WMI. Stop-Computer usa WMI. O valor padrão é Packet.

Os valores aceitáveis para este parâmetro são:

  • Padrão: Autenticação do Windows.
  • None: nenhuma autenticação COM.
  • Connect: autenticação COM no nível de conexão.
  • Call: 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.

Para obter mais informações sobre os valores desse parâmetro, consulte AuthenticationLevel.

Propriedades do parâmetro

Tipo:AuthenticationLevel
Valor padrão:Packet
Valores aceitos:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Dá suporte a curingas:False
DontShow:False
Aliases:Autenticação

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Force

Força um desligamento imediato do computador.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Impersonation

Especifica o nível de representação a ser usado quando esse cmdlet chama WMI. O valor padrão é Represente.

Stop-Computer usa WMI. Os valores aceitáveis para este parâmetro são:

  • padrão: representação padrão.
  • Anônimo: oculta a identidade do chamador.
  • Identifique: permite que os objetos consultem as credenciais do chamador.
  • Representar: permite que os objetos usem as credenciais do chamador.

Propriedades do parâmetro

Tipo:ImpersonationLevel
Valor padrão:Impersonate
Valores aceitos:Default, Anonymous, Identify, Impersonate, Delegate
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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 PowerShell 3.0.

Propriedades do parâmetro

Tipo:String
Valor padrão:DCOM
Valores aceitos:DCOM, WSMan
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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.

Propriedades do parâmetro

Tipo:Int32
Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:wi

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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
  • Padrão
  • Resumo
  • Kerberos
  • Negociar.

Para obter mais informações sobre os valores desse parâmetro, consulte AuthenticationMechanism.

Cuidado

A autenticação Credential Security Service Provider (CredSSP), em que as credenciais do usuário são enviadas para um computador remoto para serem autenticadas, é 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.

Propriedades do parâmetro

Tipo:String
Valor padrão:Default
Valores aceitos:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes: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 transferir 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 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.