Partilhar 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 do 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 PowerShell, a menos que você use o parâmetro AsJob.

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.

$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 executá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 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 -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 Credential 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 em versões posteriores do sistema operacional Windows, você deve abrir o PowerShell usando a opção Executar como administrador opção. 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 PowerShell, consulte about_Jobs e about_Remote_Jobs.

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

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

Este parâmetro não depende de remoting 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 num objeto PSCredential e a palavra-passe é armazenada como uma SecureString.

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

-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.
  • Nenhum: Sem autenticação COM.
  • Connect: Autenticação COM de nível de conexão.
  • Call: Autenticação COM de nível de chamada.
  • Packet: Autenticação COM no nível do pacote.
  • PacketIntegrity: Autenticação COM no nível de integridade de pacotes.
  • PacketPrivacy: Autenticação COM no nível de privacidade do pacote.
  • Unchanged: Igual ao comando anterior.

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

Propriedades dos parâmetros

Tipo:AuthenticationLevel
Default value:Packet
Valores aceites:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Suporta carateres universais:False
NãoMostrar:False
Aliases:Autenticação

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

-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

-Impersonation

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

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

  • padrão: representação padrão.
  • Anonymous: 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.

Propriedades dos parâmetros

Tipo:ImpersonationLevel
Default value:Impersonate
Valores aceites:Default, Anonymous, Identify, Impersonate, Delegate
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

-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 PowerShell 3.0.

Propriedades dos parâmetros

Tipo:String
Default value:DCOM
Valores aceites:DCOM, WSMan
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

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

Propriedades dos parâmetros

Tipo:Int32
Default value:None
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
  • Predefinido
  • 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

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.

Notas

Este 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 a máquina.