Restart-Computer
Reinicia o sistema operacional em computadores locais e remotos.
Syntax
Restart-Computer
[-DcomAuthentication <AuthenticationLevel>]
[-Impersonation <ImpersonationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Force]
[-Wait]
[-Timeout <Int32>]
[-For <WaitForServiceTypes>]
[-Delay <Int16>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Restart-Computer
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-Impersonation <ImpersonationLevel>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Force]
[-ThrottleLimit <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O Restart-Computer
cmdlet reinicia o sistema operacional nos computadores locais e remotos.
Você pode usar os parâmetros de para executar as operações de reinicialização como um trabalho em segundo plano, para especificar os níveis de Restart-Computer
autenticação e credenciais alternativas, para limitar as operações que são executadas ao mesmo tempo e para 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 serviços específicos estejam disponíveis no computador reiniciado. Esse recurso o torna prático de usar Restart-Computer
em scripts e funções.
Você pode usar o protocolo WSMan (WSMan) para reiniciar o computador, caso as chamadas DCOM (Distributed Component Object Model) sejam bloqueadas, como por um firewall corporativo. Para obter mais informações, consulte Protocolo WS-Management.
Esse cmdlet requer a comunicação remota do Windows PowerShell somente quando você usa o parâmetro AsJob em um comando.
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: Reiniciar computadores como um trabalho em segundo plano
Esses comandos executam um Restart-Computer
comando como um trabalho em segundo plano em dois computadores remotos e, em seguida, obtêm os resultados.
Como AsJob cria o trabalho no computador local e retorna automaticamente os resultados para o computador local, você pode executar Receive-Job
como um comando local.
$Job = Restart-Computer -ComputerName "Server01", "Server02" -AsJob
$Job | Receive-Job
Restart-Computer
usa o parâmetro ComputerName para especificar Server01 e Server02. O parâmetro AsJob executa o comando como um trabalho em segundo plano. O objeto de trabalho é armazenado na $Job
variável. $Job
é enviado pelo pipeline para o Receive-Job
cmdlet que obtém os resultados.
Exemplo 4: Reiniciar um computador remoto
Restart-Computer
Reinicia um computador remoto com configurações personalizadas de representação e autenticação.
Restart-Computer -ComputerName Server01 -Impersonation Anonymous -DcomAuthentication PacketIntegrity
Restart-Computer
usa o parâmetro ComputerName para especificar Server01. O parâmetro Impersonation especifica Anonymous para ocultar a identidade do solicitante. O parâmetro DcomAuthentication especifica PacketIntegrity como o nível de autenticação da conexão.
Exemplo 5: 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 Domain01.txt
arquivo. 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 e o parâmetro ThrottleLimit limita o número de conexões simultâneas.
$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force -ThrottleLimit 10
Get-Content
usa o parâmetro Path para obter uma lista de nomes de computador 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. O parâmetro ThrottleLimit limita o comando a 10 conexões simultâneas.
Exemplo 6: Reinicie um computador remoto e aguarde o PowerShell
Restart-Computer
reinicia o computador remoto e, em seguida, 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 o protocolo WSMan
Restart-Computer
reinicia o computador remoto usando o protocolo WSMan em vez do padrão, DCOM. A autenticação Kerberos determina se o usuário atual tem permissão para reiniciar o computador remoto.
Essas configurações são projetadas para empresas nas quais as reinicializações baseadas em DCOM falham porque o DCOM está bloqueado. Por exemplo, por um firewall.
Restart-Computer -ComputerName Server01 -Protocol WSMan -WsmanAuthentication Kerberos
Restart-Computer
usa o parâmetro ComputerName para especificar o computador remoto, Server01.
O parâmetro Protocol especifica o uso do protocolo WSMan. O parâmetro WsmanAuthentication especifica o método de autenticação como Kerberos.
Parâmetros
-AsJob
Indica que Restart-Computer
é executado como um trabalho em segundo plano.
Para usar esse parâmetro, os computadores locais e remotos devem ser configurados para comunicação remota. No Windows Vista e em versões posteriores do sistema operacional Windows, você deve abrir o PowerShell usando a opção Executar como administrador . 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. É possível continuar a trabalhar na sessão enquanto o trabalho é concluído. O trabalho é criado no computador local e os resultados de computadores remotos são retornados automaticamente para o computador local. Para gerenciar o trabalho, use os cmdlets Job . Para obter os resultados do trabalho, use o Receive-Job
cmdlet.
Para obter mais informações sobre trabalhos em segundo plano do Windows PowerShell, consulte about_Jobs e about_Remote_Jobs.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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 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.
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.
Se o parâmetro ComputerName não for especificado, Restart-Computer
reinicia o computador local.
Type: | String[] |
Aliases: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Solicita a confirmação antes de executar Restart-Computer
o .
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 Get-Credential
cmdlet. 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?.
Type: | PSCredential |
Position: | 1 |
Default value: | Current user |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DcomAuthentication
Especifica o nível de autenticação a ser usado com a conexão WMI. Restart-Computer
usa WMI.
Os valores válidos são:
- Chamada: autenticação COM em nível de chamada
- Conectar: autenticação COM em nível de conexão
- Padrão: Autenticação do Windows
- Nenhum: Sem autenticação COM
- Pacote: autenticação COM em nível de pacote.
- PacketIntegrity: autenticação COM em nível de integridade de pacote
- PacketPrivacy: autenticação COM no nível de privacidade de pacotes.
- Inalterado: o nível de autenticação é o mesmo do comando anterior.
Para obter mais informações, consulte AuthenticationLevel Enumeration.
Este parâmetro é introduzido no Windows PowerShell 3.0.
Type: | AuthenticationLevel |
Aliases: | Authentication |
Accepted values: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 está disponível depois que o computador é reiniciado.
Esse parâmetro é válido somente junto com os parâmetros Wait e For .
Este 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.
Type: | Int16 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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. Esse parâmetro só é válido com o parâmetro Wait .
Os valores aceitáveis para esse 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.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | WaitForServiceTypes |
Accepted values: | Wmi, WinRM, PowerShell |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Força uma reinicialização imediata do computador.
Type: | SwitchParameter |
Aliases: | f |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Impersonation
Especifica o nível de representação que esse cmdlet usa para chamar WMI. Restart-Computer
usa WMI.
Os valores aceitáveis para esse parâmetro são:
- Padrão: representação padrão. Apesar do nome, esse não é o valor padrão.
- Anônimo: oculta a identidade do chamador.
- Identificar: permite que objetos consultem as credenciais do chamador.
- Representar: permite que os objetos usem as credenciais do chamador.
Type: | ImpersonationLevel |
Accepted values: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Protocol
Especifica o protocolo a ser usado para reiniciar os computadores. Os valores válidos são WSMan e DCOM.
Este parâmetro é introduzido no Windows PowerShell 3.0.
Type: | String |
Accepted values: | DCOM, WSMan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ThrottleLimit
Especifica o número máximo de conexões simultâneas que podem ser estabelecidas para executar o comando. O limite de aceleração aplica-se somente ao comando atual e não à sessão ou ao computador.
Se o parâmetro ThrottleLimit não for especificado ou um valor 0 for usado, Restart-Computer
usará um máximo de 32 conexões simultâneas.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Timeout
Especifica a duração da espera, em segundos. Quando o tempo limite expirar, Restart-Computer
retornará ao prompt de comando, mesmo se os computadores não forem reiniciados.
O parâmetro Timeout só é válido com o parâmetro Wait . O tempo limite substitui o período de espera indefinido do parâmetro Wait .
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | Int32 |
Aliases: | TimeoutSec |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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 o tempo limite para ajustar o tempo e os parâmetros Para e Atraso 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 terminativo para Wait no computador local, mas aguardará a reinicialização dos computadores remotos.
Este parâmetro foi introduzido no Windows PowerShell 3.0.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Mostra o que aconteceria se o Restart-Computer
executasse. O Restart-Computer
cmdlet não é executado.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WsmanAuthentication
Especifica o mecanismo usado para autenticar as credenciais do usuário. Este parâmetro foi introduzido no Windows PowerShell 3.0.
Os valores aceitáveis para esse parâmetro são: Basic, CredSSP, Default, Digest, Kerberos e Negotiate.
Para obter mais informações, consulte AuthenticationMechanism.
Aviso
A autenticação CredSSP (Credential Security Service Provider), na qual as credenciais do usuário são passadas para um computador remoto para serem autenticadas, 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 que são passadas a ele podem ser usadas para controlar a sessão de rede.
Type: | String |
Accepted values: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Você pode canalizar uma cadeia de caracteres que contém um nome de computador para esse 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 de trabalho.
Observações
Restart-Computer
só funcionam em computadores que executam o Windows e requer WinRM e WMI para desligar um sistema, incluindo o sistema local.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 privilégio SeShutdownPrivilege esteja habilitado para a conta de usuário usada para reiniciar o computador.
No Windows PowerShell 2.0, o parâmetro AsJob não funciona de forma confiável quando você está reiniciando ou parando computadores remotos. No Windows PowerShell 3.0, a implementação é alterada para resolver esse problema.
Links Relacionados
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de