Restart-Computer
Reinicia el sistema operativo en equipos locales y remotos.
Sintaxis
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
El cmdlet Restart-Computer
reinicia el sistema operativo en los equipos locales y remotos.
Puede usar los parámetros de Restart-Computer
para ejecutar las operaciones de reinicio como un trabajo en segundo plano, especificar los niveles de autenticación y las credenciales alternativas, limitar las operaciones que se ejecutan al mismo tiempo y forzar un reinicio inmediato.
A partir de Windows PowerShell 3.0, puede esperar a que se complete el reinicio antes de ejecutar el siguiente comando. Especifique un tiempo de espera y un intervalo de consulta y espere a que determinados servicios estén disponibles en el equipo reiniciado. Esta característica facilita el uso de Restart-Computer
en scripts y funciones.
Puede usar el protocolo WS-Management (WSMan) para reiniciar el equipo, en caso de que las llamadas al Modelo de objetos de componente distribuido (DCOM) estén bloqueadas, como por ejemplo, por un firewall de empresa. Para obtener más información, vea WS-Management Protocol.
Este cmdlet solo requiere la comunicación remota de Windows PowerShell cuando se usa el parámetro AsJob en un comando.
Ejemplos
Ejemplo 1: Reiniciar el equipo local
Restart-Computer
reinicia el equipo local.
Restart-Computer
Ejemplo 2: Reinicio de varios equipos
Restart-Computer
puede reiniciar equipos remotos y locales. El parámetro ComputerName acepta una matriz de nombres de equipo.
Restart-Computer -ComputerName Server01, Server02, localhost
Ejemplo 3: Reiniciar equipos como trabajo en segundo plano
Estos comandos ejecutan un comando Restart-Computer
como trabajo en segundo plano en dos equipos remotos y, a continuación, obtienen los resultados.
Dado que AsJob crea el trabajo en el equipo local y devuelve automáticamente los resultados al equipo local, puede ejecutar Receive-Job
como comando local.
$Job = Restart-Computer -ComputerName "Server01", "Server02" -AsJob
$Job | Receive-Job
Restart-Computer
usa el parámetro computerName para especificar Server01 y Server02. El parámetro AsJob ejecuta el comando como un trabajo en segundo plano. El objeto de trabajo se almacena en la variable $Job
.
$Job
se envía la canalización al cmdlet Receive-Job
que obtiene los resultados.
Ejemplo 4: Reiniciar un equipo remoto
Restart-Computer
reinicia un equipo remoto con la configuración personalizada de suplantación y autenticación.
Restart-Computer -ComputerName Server01 -Impersonation Anonymous -DcomAuthentication PacketIntegrity
Restart-Computer
usa el parámetro computerName para especificar Server01. El parámetro suplantación especifica Anonymous para ocultar la identidad del solicitante. El parámetro DcomAuthentication especifica PacketIntegrity como nivel de autenticación de la conexión.
Ejemplo 5: Forzar el reinicio de equipos enumerados en un archivo de texto
En este ejemplo se fuerza un reinicio inmediato de los equipos enumerados en el archivo Domain01.txt
. Los nombres de equipo del archivo de texto se almacenan en una variable. El parámetro Force fuerza un reinicio inmediato y el parámetro ThrottleLimit limita el número de conexiones simultáneas.
$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force -ThrottleLimit 10
Get-Content
usa el parámetro path de para obtener una lista de nombres de equipo de un archivo de texto, Domain01.txt. Los nombres de equipo se almacenan en la variable $Names
.
Get-Credential
le pide un nombre de usuario y una contraseña y almacena los valores en la variable $Creds
.
Restart-Computer
usa los parámetros de ComputerName y Credential con sus variables. El parámetro Force provoca un reinicio inmediato de cada equipo. El parámetro ThrottleLimit limita el comando a 10 conexiones simultáneas.
Ejemplo 6: Reinicio de un equipo remoto y espera a PowerShell
Restart-Computer
reinicia el equipo remoto y, a continuación, espera hasta 5 minutos (300 segundos) para que PowerShell esté disponible en el equipo reiniciado antes de continuar.
Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2
Restart-Computer
usa el parámetro computerName para especificar Server01. El parámetro Wait espera a que finalice el reinicio. El For especifica que PowerShell puede ejecutar comandos en el equipo remoto. El parámetro Timeout especifica una espera de cinco minutos. El parámetro Delay consulta el equipo remoto cada dos segundos para determinar si se reinicia.
Ejemplo 7: Reiniciar un equipo mediante el protocolo WSMan
Restart-Computer
reinicia el equipo remoto mediante el protocolo WSMan en lugar del valor predeterminado, DCOM. La autenticación Kerberos determina si el usuario actual tiene permiso para reiniciar el equipo remoto.
Esta configuración está diseñada para empresas en las que se produce un error en los reinicios basados en DCOM porque DCOM está bloqueado. Por ejemplo, mediante un firewall.
Restart-Computer -ComputerName Server01 -Protocol WSMan -WsmanAuthentication Kerberos
Restart-Computer
usa el parámetro computerName para especificar el equipo remoto, Server01.
El parámetro Protocol especifica que se debe usar el protocolo WSMan. El parámetro WsmanAuthentication especifica el método de autenticación como kerberos.
Parámetros
-AsJob
Indica que Restart-Computer
se ejecuta como un trabajo en segundo plano.
Para usar este parámetro, los equipos locales y remotos deben configurarse para la comunicación remota. En Windows Vista y versiones posteriores del sistema operativo Windows, debe abrir PowerShell con la opción ejecutar como administrador . Para obtener más información, vea about_Remote_Requirements.
Al especificar el parámetro asJob, el comando devuelve inmediatamente un objeto que representa el trabajo en segundo plano. Puede continuar trabajando en la sesión mientras finaliza el trabajo. El trabajo se crea en el equipo local y los resultados de los equipos remotos se devuelven automáticamente al equipo local. Para administrar el trabajo, use los cmdlets Job. Para obtener los resultados del trabajo, use el cmdlet Receive-Job
.
Para obtener más información sobre los trabajos en segundo plano de Windows PowerShell, consulte about_Jobs y about_Remote_Jobs.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ComputerName
Especifica un nombre de equipo o una matriz separada por comas de nombres de equipo.
Restart-Computer
acepta computerName objetos de la canalización o variables.
Escriba el nombre NetBIOS, una dirección IP o un nombre de dominio completo de un equipo remoto. Para especificar el equipo local, escriba el nombre del equipo, un punto .
o localhost.
Este parámetro no se basa en la comunicación remota de PowerShell. Puede usar el parámetro ComputerName incluso si el equipo no está configurado para ejecutar comandos remotos.
Si no se especifica el parámetro computerName , Restart-Computer
reinicia el equipo local.
Tipo: | String[] |
Alias: | CN, __SERVER, Server, IPAddress |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-Confirm
Le pide confirmación antes de ejecutar Restart-Computer
.
Tipo: | SwitchParameter |
Alias: | cf |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Credential
Especifica una cuenta de usuario que tiene permiso para realizar esta acción. El valor predeterminado es el usuario actual.
Escriba un nombre de usuario, como User01 o Domain01\User01, o escriba un objeto de PSCredential generado por el cmdlet Get-Credential
. Si escribe un nombre de usuario, se le pedirá que escriba la contraseña.
Las credenciales se almacenan en un objeto de PSCredential de y la contraseña se almacena como SecureString.
Nota
Para obtener más información sobre Protección de datos de secureString, consulte ¿Cómo es secureString?.
Tipo: | PSCredential |
Posición: | 1 |
Valor predeterminado: | Current user |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-DcomAuthentication
Especifica el nivel de autenticación que se usa para la conexión WMI.
Restart-Computer
usa WMI.
Los valores válidos son:
- Llamada: autenticación COM de nivel de llamada
- Connect: autenticación COM de nivel de conexión
- predeterminado: autenticación de Windows
- Ninguno: sin autenticación COM
- Packet: autenticación COM de nivel de paquete.
- PacketIntegrity: autenticación COM de nivel de integridad de paquetes
- PacketPrivacy: autenticación COM de nivel de privacidad de paquetes.
- sin cambios: el nivel de autenticación es el mismo que el comando anterior.
Para obtener más información, vea AuthenticationLevel (enumeración).
Este parámetro se presenta en Windows PowerShell 3.0.
Tipo: | AuthenticationLevel |
Alias: | Authentication |
Valores aceptados: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Delay
Especifica la frecuencia de las consultas, en segundos. PowerShell consulta el servicio especificado por el parámetro For para determinar si el servicio está disponible después de reiniciar el equipo.
Este parámetro solo es válido junto con el de espera de y los parámetros For.
Este parámetro se introdujo en Windows PowerShell 3.0.
Si no se especifica el parámetro delay , Restart-Computer
usa un retraso de cinco segundos.
Tipo: | Int16 |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-For
Especifica el comportamiento de PowerShell a medida que espera a que el servicio o la característica especificados estén disponibles después de reiniciar el equipo. Este parámetro solo es válido con el parámetro Wait .
Los valores aceptables para este parámetro son:
- predeterminado: espera a que PowerShell se reinicie.
- powerShell: puede ejecutar comandos en una sesión remota de PowerShell en el equipo.
- WMI: recibe una respuesta a una consulta de Win32_ComputerSystem para el equipo.
- WinRM: puede establecer una sesión remota en el equipo mediante WS-Management.
Este parámetro se introdujo en Windows PowerShell 3.0.
Tipo: | WaitForServiceTypes |
Valores aceptados: | Wmi, WinRM, PowerShell |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Force
Fuerza un reinicio inmediato del equipo.
Tipo: | SwitchParameter |
Alias: | f |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Impersonation
Especifica el nivel de suplantación que usa este cmdlet para llamar a WMI.
Restart-Computer
usa WMI.
Los valores aceptables para este parámetro son:
- predeterminado: suplantación predeterminada. A pesar del nombre, este no es el valor predeterminado.
- anónimo: oculta la identidad del autor de la llamada.
- Identificar: permite a los objetos consultar las credenciales del autor de la llamada.
- suplantar: permite a los objetos usar las credenciales del autor de la llamada.
Tipo: | ImpersonationLevel |
Valores aceptados: | Default, Anonymous, Identify, Impersonate, Delegate |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Protocol
Especifica el protocolo que se va a usar para reiniciar los equipos. Los valores válidos son WSMan y DCOM.
Este parámetro se presenta en Windows PowerShell 3.0.
Tipo: | String |
Valores aceptados: | DCOM, WSMan |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-ThrottleLimit
Especifica el número máximo de conexiones simultáneas que se pueden establecer para ejecutar este comando. El límite solo se aplica al comando actual, no a la sesión o al equipo.
Si no se especifica el parámetro ThrottleLimit o se usa un valor de 0, Restart-Computer
usa un máximo de 32 conexiones simultáneas.
Tipo: | Int32 |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Timeout
Especifica la duración de la espera, en segundos. Cuando transcurre el tiempo de espera, Restart-Computer
vuelve al símbolo del sistema, incluso si los equipos no se reinician.
El parámetro timeout solo es válido con el parámetro Wait . tiempo de espera invalida el período de espera indefinido del parámetro Wait .
Este parámetro se introdujo en Windows PowerShell 3.0.
Tipo: | Int32 |
Alias: | TimeoutSec |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Wait
Restart-Computer
suprime el símbolo del sistema de PowerShell y bloquea la canalización hasta que los equipos se hayan reiniciado. Puede usar este parámetro en un script para reiniciar equipos y, a continuación, continuar procesando cuando finalice el reinicio.
El parámetro Wait espera indefinidamente para que los equipos se reinicien. Puede usar de tiempo de espera de para ajustar el tiempo y el For y los parámetros delay para esperar a que determinados servicios estén disponibles en los equipos reiniciados.
El parámetro Wait no es válido cuando se reinicia el equipo local. Si el valor de parámetro ComputerName contiene los nombres de los equipos remotos y el equipo local, Restart-Computer
genera un error de no terminación para Wait en el equipo local, pero espera a que los equipos remotos se reinicien.
Este parámetro se introdujo en Windows PowerShell 3.0.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que sucedería si se ejecuta el Restart-Computer
. El cmdlet Restart-Computer
no se ejecuta.
Tipo: | SwitchParameter |
Alias: | wi |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-WsmanAuthentication
Especifica el mecanismo que se usa para autenticar las credenciales de usuario. Este parámetro se introdujo en Windows PowerShell 3.0.
Los valores aceptables para este parámetro son: Basic, CredSSP, Default, Digest, Kerberosy Negotiate.
Para obtener más información, vea AuthenticationMechanism.
Advertencia
La autenticación del proveedor de servicios de seguridad de credenciales (CredSSP), en la que las credenciales de usuario se pasan a un equipo remoto para autenticarse, está diseñada para comandos que requieren autenticación en más de un recurso, como el acceso a un recurso compartido de red remoto. Este mecanismo aumenta el riesgo de seguridad de la operación remota. Si el equipo remoto está en peligro, se pueden usar las credenciales que se pasan a ella para controlar la sesión de red.
Tipo: | String |
Valores aceptados: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
Puede canalizar una cadena que contenga un nombre de equipo a este cmdlet.
Salidas
None
De forma predeterminada, este cmdlet no devuelve ninguna salida.
System.Management.Automation.RemotingJob
Cuando se usa el parámetro AsJob, este cmdlet devuelve un objeto de trabajo.
Notas
-
Restart-Computer
solo funcionan en equipos que ejecutan Windows y requiere WinRM y WMI para apagar un sistema, incluido el sistema local. -
Restart-Computer
usa el método Win32Shutdown de la clase Win32_OperatingSystem Instrumental de administración de Windows (WMI). Este método requiere que se habilite el privilegio SeShutdownPrivile ge para la cuenta de usuario que se usa para reiniciar la máquina.
En Windows PowerShell 2.0, el parámetro AsJob no funciona de forma confiable al reiniciar o detener equipos remotos. En Windows PowerShell 3.0, la implementación se cambia para resolver este problema.