Partilhar via


Restart-Computer

Reinicia o sistema operacional em computadores locais e remotos.

Sintaxe

DefaultSet (Predefinição)

Restart-Computer
    [[-ComputerName] <String[]>]
    [-WsmanAuthentication <String>]
    [-Credential]<PSCredential>]
    [-Force]
    [-Wait]
    [-Timeout <Int32>]
    [-For <WaitForServiceTypes>]
    [-Delay <Int16>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

O cmdlet Restart-Computer reinicia o sistema operacional nos computadores locais e remotos.

Você pode usar os parâmetros de Restart-Computer para executar as operações de reinicialização, especificar os níveis de autenticação e credenciais alternativas, limitar as operações executadas ao mesmo tempo e forçar uma reinicialização imediata.

A partir do Windows PowerShell 3.0, você pode aguardar a conclusão da reinicialização antes de executar o próximo comando. Especifique um tempo limite de espera e um intervalo de consulta e aguarde até que determinados serviços estejam disponíveis no computador reiniciado. Esse recurso torna prático o uso de Restart-Computer em scripts e funções.

No PowerShell 7.1, Restart-Computer foi adicionado para Linux e macOS. As plataformas que não são do Windows têm apenas os parâmetros WhatIf, Confirm e CommonParameters . O cmdlet está apenas chamando o comando nativo /sbin/shutdown.

Exemplos

Exemplo 1: Reinicie o computador local

Restart-Computer reinicia o computador local.

Restart-Computer

Exemplo 2: Reiniciar vários computadores

Restart-Computer pode reiniciar computadores remotos e locais. O parâmetro ComputerName aceita uma matriz de nomes de computador.

Restart-Computer -ComputerName Server01, Server02, localhost

Exemplo 3: Obter nomes de computador de um arquivo de texto

Restart-Computer obtém uma lista de nomes de computadores de um arquivo de texto e reinicia os computadores. O parâmetro ComputerName não é especificado. Mas como é o primeiro parâmetro posicional, ele aceita os nomes de computador a partir do arquivo de texto que são transmitidos através do pipeline.

Get-Content -Path C:\Domain01.txt | Restart-Computer

Get-Content usa o parâmetro Path para obter uma lista de nomes de computadores de um arquivo de texto, Domain01.txt. Os nomes dos computadores são enviados pelo canal de processamento. Restart-Computer reinicia cada computador.

Exemplo 4: Forçar a reinicialização de computadores listados em um arquivo de texto

Este exemplo força uma reinicialização imediata dos computadores listados no arquivo Domain01.txt. Os nomes de computador do arquivo de texto são armazenados em uma variável. O parâmetro Force força um reinício imediato.

$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force

Get-Content usa o parâmetro Path para obter uma lista de nomes de computadores de um arquivo de texto, Domain01.txt. Os nomes dos computadores são armazenados na variável $Names. Get-Credential solicita um nome de usuário e senha e armazena os valores na variável $Creds. Restart-Computer usa os parâmetros ComputerName e Credential com suas variáveis. O parâmetro Force causa uma reinicialização imediata de cada computador.

Exemplo 6: Reiniciar um computador remoto e aguardar o PowerShell

Restart-Computer reinicia o computador remoto e aguarda até 5 minutos (300 segundos) para que o PowerShell fique disponível no computador reiniciado antes de continuar.

Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2

Restart-Computer usa o parâmetro ComputerName para especificar Server01. O parâmetro Wait aguarda a conclusão da reinicialização. O For especifica que o PowerShell pode executar comandos no computador remoto. O parâmetro Timeout especifica uma espera de cinco minutos. O parâmetro Delay consulta o computador remoto a cada dois segundos para determinar se ele foi reiniciado.

Exemplo 7: Reiniciar um computador usando WsmanAuthentication

Restart-Computer reinicia o computador remoto usando o mecanismo de WsmanAuthentication. A autenticação Kerberos determina se o usuário atual tem permissão para reiniciar o computador remoto. Para obter mais informações, consulte AuthenticationMechanism.

Restart-Computer -ComputerName Server01 -WsmanAuthentication Kerberos

Restart-Computer usa o parâmetro ComputerName para especificar o computador remoto, Server01. O parâmetro WsmanAuthentication especifica o método de autenticação como Kerberos.

Parâmetros

-ComputerName

Especifica um nome de computador ou uma matriz separada por vírgulas de nomes de computador. Restart-Computer aceita objetos ComputerName do pipeline ou de variáveis.

Digite o nome NetBIOS, um endereço IP ou um nome de domínio totalmente qualificado de um computador remoto. Para especificar o computador local, digite o nome do computador, um ponto .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.

Se o parâmetro ComputerName não for especificado, Restart-Computer reinicia o computador local.

Este parâmetro só está disponível em plataformas Windows.

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:True
Valor do pipeline por nome de propriedade:True
Valor dos restantes argumentos:False

-Confirm

Solicita confirmação antes de executar Restart-Computer.

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

Este parâmetro só está disponível em plataformas Windows.

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

-Delay

Especifica a frequência das consultas, em segundos. O PowerShell consulta o serviço especificado pelo parâmetro For para determinar se o serviço estará disponível depois que o computador for reiniciado.

Este parâmetro é válido apenas juntamente com os parâmetros Wait e For.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Se o parâmetro Delay não for especificado, Restart-Computer usará um atraso de cinco segundos.

Este parâmetro só está disponível em plataformas Windows.

Propriedades dos parâmetros

Tipo:Int16
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

-For

Especifica o comportamento do PowerShell enquanto aguarda que o serviço ou recurso especificado fique disponível após a reinicialização do computador. Este parâmetro só é válido com o parâmetro Wait.

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

  • padrão: aguarda a reinicialização do PowerShell.
  • PowerShell: Pode executar comandos em uma sessão remota do PowerShell no computador.
  • WMI: Recebe uma resposta a uma consulta Win32_ComputerSystem para o computador.
  • WinRM: Pode estabelecer uma sessão remota para o computador usando WS-Management.

Esse parâmetro foi introduzido no Windows PowerShell 3.0. Este parâmetro só está disponível em plataformas Windows.

Propriedades dos parâmetros

Tipo:WaitForServiceTypes
Default value:None
Valores aceites:Wmi, WinRM, PowerShell
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

-Force

Força uma reinicialização imediata do computador.

Este parâmetro só está disponível em plataformas Windows.

Propriedades dos parâmetros

Tipo:SwitchParameter
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:f

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

-Timeout

Especifica a duração da espera, em segundos. Quando o tempo limite expirar, Restart-Computer retorna ao prompt de comando, mesmo que os computadores não sejam reiniciados.

O parâmetro Timeout só é válido com o parâmetro Wait. Timeout sobrepõe-se ao período de espera indefinido do parâmetro Wait.

Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Este parâmetro só está disponível em plataformas Windows.

Propriedades dos parâmetros

Tipo:Int32
Default value:None
Suporta carateres universais:False
NãoMostrar:False
Aliases:TimeoutSec

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

-Wait

Restart-Computer suprime o prompt do PowerShell e bloqueia o pipeline até que os computadores sejam reiniciados. Você pode usar esse parâmetro em um script para reiniciar computadores e, em seguida, continuar a processar quando a reinicialização for concluída.

O parâmetro Wait aguarda indefinidamente a reinicialização dos computadores. Você pode usar de tempo limite para ajustar o tempo e os parâmetros For e Delay para aguardar que determinados serviços fiquem disponíveis nos computadores reiniciados.

O parâmetro Wait não é válido quando você está reiniciando o computador local. Se o valor do parâmetro ComputerName contiver os nomes dos computadores remotos e do computador local, Restart-Computer gerará um erro não fatal para a operação de espera no computador local, mas aguardará a reinicialização dos computadores remotos.

Esse parâmetro foi introduzido no Windows PowerShell 3.0. Este parâmetro só está disponível em plataformas Windows.

Propriedades dos parâmetros

Tipo:SwitchParameter
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 Restart-Computer fosse executado. O cmdlet Restart-Computer 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. Esse parâmetro foi introduzido no Windows PowerShell 3.0.

Os valores aceitáveis para este parâmetro são: Basic, CredSSP, Default, Digest, Kerberose Negotiate.

Para obter mais informações, consulte AuthenticationMechanism.

Advertência

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.

Este parâmetro só está disponível em plataformas Windows.

Propriedades dos parâmetros

Tipo:String
Default value:None
Valores aceites:Basic, CredSSP, Default, Digest, Kerberos, Negotiate
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

String

Você pode canalizar uma cadeia de caracteres que contém um nome de computador para esse cmdlet.

Saídas

None

Este cmdlet não retorna nenhuma saída.

Notas

  • No Windows, Restart-Computer usa o método Win32Shutdown da classe de Win32_OperatingSystem WMI (Instrumentação de Gerenciamento do Windows). Esse método requer que o SeShutdownPrivilege privilégio seja habilitado para a conta de usuário usada para reiniciar a máquina.
  • Este cmdlet foi adicionado para Linux e macOS no PowerShell 7.1. No Linux e macOS, Restart-Computer usa a ferramenta /sbin/shutdown bash.