Restart-Computer
Reinicia o sistema operacional em computadores locais e remotos.
Sintaxe
Restart-Computer
[-WsmanAuthentication <String>]
[[-ComputerName] <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 que determinados serviços estejam disponíveis no computador reiniciado. Esse recurso torna prático usar 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: reiniciar 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 computador de um arquivo de texto e reinicia os computadores. O parâmetro ComputerName não é especificado. No entanto, por ser o parâmetro de primeira posição, ele aceita os nomes de computador do arquivo de texto enviados pelo pipeline.
Get-Content -Path C:\Domain01.txt | Restart-Computer
Get-Content
usa o parâmetro Path para obter uma lista de nomes de computador de um arquivo de texto, Domain01.txt. Os nomes de computador são enviados pelo pipeline.
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 uma reinicialização imediata.
$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 computador de um arquivo de texto, Domain01.txt. Os nomes de computador 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 é reiniciado.
Exemplo 7: Reiniciar um computador usando WsmanAuthentication
Restart-Computer
reinicia o computador remoto usando o mecanismo 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 das 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 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.
Se o parâmetro ComputerName não for especificado, Restart-Computer
reiniciará o computador local.
Esse parâmetro só está disponível em plataformas Windows.
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 confirmação antes de executar Restart-Computer
.
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 a proteção de dados do SecureString, consulte Quão seguro é o SecureString?.
Esse parâmetro só está disponível em plataformas Windows.
Tipo: | PSCredential |
Cargo: | 1 |
Valor padrão: | Current user |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Delay
Especifica a frequência de consultas, em segundos. O PowerShell consulta o serviço especificado pelo parâmetro For para determinar se o serviço está disponível após a reinicialização do computador.
Esse parâmetro é válido apenas com os parâmetros Wait e For.
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Se o parâmetro Atraso não for especificado, Restart-Computer
usará um atraso de cinco segundos.
Esse parâmetro só está disponível em plataformas Windows.
Tipo: | Int16 |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-For
Especifica o comportamento do PowerShell enquanto aguarda o serviço ou recurso especificado ficar disponível após a reinicialização do computador. Esse 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 com o computador usando o WS-Management.
Esse parâmetro foi introduzido no Windows PowerShell 3.0. Esse parâmetro só está disponível em plataformas Windows.
Tipo: | WaitForServiceTypes |
Valores aceitos: | Wmi, WinRM, PowerShell |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Force
Força uma reinicialização imediata do computador.
Esse parâmetro só está disponível em plataformas Windows.
Tipo: | SwitchParameter |
Aliases: | f |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Timeout
Especifica a duração da espera, em segundos. Quando o tempo limite é decorrido, 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 de espera. Timeout substitui o período de espera indefinido do parâmetro Wait.
Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Esse parâmetro só está disponível em plataformas Windows.
Tipo: | Int32 |
Aliases: | TimeoutSec |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | 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 para que os computadores sejam reiniciados. Você pode usar o parâmetro Timeout 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 recuperável para Wait no computador local, mas aguardará a reinicialização dos computadores remotos.
Esse parâmetro foi introduzido no Windows PowerShell 3.0. Esse parâmetro só está disponível em plataformas Windows.
Tipo: | SwitchParameter |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-WhatIf
Mostra o que aconteceria se Restart-Computer
fosse executado. O cmdlet Restart-Computer
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. Esse parâmetro foi introduzido no Windows PowerShell 3.0.
Os valores aceitáveis para esse parâmetro são: Basic, CredSSP, Default, Digest, Kerberose Negotiate.
Para obter mais informações, consulte AuthenticationMechanism.
Aviso
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 só está disponível em plataformas Windows.
Tipo: | String |
Valores aceitos: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode redirecionar uma cadeia de caracteres que contém um nome de computador para este cmdlet.
Saídas
None
Esse cmdlet não retorna nenhuma saída.
Observações
- No Windows,
Restart-Computer
usa o método Win32Shutdown da classe WMI (Instrumentação de Gerenciamento do Windows) Win32_OperatingSystem. Esse método requer que o privilégio SeShutdownPrivilege esteja habilitado para a conta de usuário usada para reiniciar a máquina. - Esse cmdlet foi adicionado para Linux e macOS no PowerShell 7.1. No Linux e no macOS,
Restart-Computer
usa a ferramenta bash/sbin/shutdown
.