Compartilhar via


Stop-Computer

Para (desliga) computadores locais e remotos.

Sintaxe

Stop-Computer
    [-WsmanAuthentication <String>]
    [[-ComputerName] <String[]>]
    [[-Credential] <PSCredential>]
    [-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 especificar os níveis de autenticação e credenciais alternativas e forçar um desligamento imediato.

No PowerShell 7.1, Stop-Computer foi adicionado para Linux e macOS. Os parâmetros não têm efeito nessas plataformas. O cmdlet está apenas chamando o comando nativo /sbin/shutdown.

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.

O operador em segundo plano & executa o comando Stop-Computer como um trabalho em segundo plano. Para obter mais informações, consulte about_Operators.

$j = Stop-Computer -ComputerName "Server01", "Server02" &
$results = $j | Receive-Job
$results

Stop-Computer usa o parâmetro ComputerName para especificar dois computadores remotos. O operador de plano de fundo & 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.

Exemplo 4: desligar um computador remoto

Este exemplo desliga um computador remoto usando a autenticação especificada.

Stop-Computer -ComputerName "Server01" -WsmanAuthentication Kerberos

Stop-Computer usa o parâmetro ComputerName para especificar o computador remoto. O parâmetro WsmanAuthentication especifica usar Kerberos para estabelecer uma conexão remota.

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 -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 de Credenciais envia as credenciais salvas na variável $c.

Parâmetros

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

Nota

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

Tipo:PSCredential
Cargo:1
Valor padrão:Current user
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

-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 é Padrão.

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

  • Básico
  • CredSSP
  • Inadimplência
  • Digerir
  • Kerberos
  • Negociar.

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

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 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 redirecionar objetos para este cmdlet.

Saídas

None

Esse cmdlet não retorna nenhuma saída.

Observações

Este cmdlet usa o Win32Shutdown método 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.

No PowerShell 7.1, Stop-Computer foi adicionado para Linux e macOS. Para essas plataformas, o cmdlet chama o comando nativo /sbin/shutdown.