Restart-Computer
Reinicia o sistema operacional em computadores locais e remotos.
Sintaxe
DefaultSet (Default)
Restart-Computer
[[-ComputerName] <String[]>]
[-WsmanAuthentication <String>]
[-Credential]<PSCredential>]
[-Force]
[-Wait]
[-Timeout <Int32>]
[-For <WaitForServiceTypes>]
[-Delay <Int16>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Este cmdlet só está disponível na plataforma Windows.
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.
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.
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: | True |
| Valor do pipeline pelo nome da propriedade: | True |
| Valor dos argumentos restantes: | False |
-Confirm
Solicita confirmação antes de executar Restart-Computer.
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 |
-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.
Propriedades do parâmetro
| Tipo: | Int16 |
| 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 |
-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 relativa ao 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.
Propriedades do parâmetro
| Tipo: | WaitForServiceTypes |
| Valor padrão: | None |
| Valores aceitos: | Wmi, WinRM, PowerShell |
| 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 |
-Force
Força uma reinicialização imediata do computador.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | f |
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 |
-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.
Propriedades do parâmetro
| Tipo: | Int32 |
| Valor padrão: | None |
| Dá suporte a curingas: | False |
| DontShow: | False |
| Aliases: | TimeoutSec |
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 |
-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.
Propriedades do parâmetro
| Tipo: | SwitchParameter |
| 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 Restart-Computer fosse executado. O cmdlet Restart-Computer 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. 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.
Propriedades do parâmetro
| Tipo: | String |
| Valor padrão: | None |
| Valores aceitos: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
| 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
String
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-Computerusa 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. - No Sistema Operacional Linux e Mac,
Restart-Computerusa a ferramenta bash/sbin/shutdown.