Restart-Computer
Reinicia el sistema operativo en equipos locales y remotos.
Sintaxis
DefaultSet (valor predeterminado)
Restart-Computer
[[-ComputerName] <string[]>]
[[-Credential] <pscredential>]
[-DcomAuthentication <AuthenticationLevel>]
[-Impersonation <ImpersonationLevel>]
[-WsmanAuthentication <string>]
[-Protocol <string>]
[-Force]
[-Wait]
[-Timeout <int>]
[-For <WaitForServiceTypes>]
[-Delay <int16>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
AsJobSet
Restart-Computer
[[-ComputerName] <string[]>]
[[-Credential] <pscredential>]
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-Impersonation <ImpersonationLevel>]
[-Force]
[-ThrottleLimit <int>]
[-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
$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
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 utiliza el parámetro Path para obtener una lista de nombres de equipos de un archivo de texto, Dominio01.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: Reiniciar un equipo remoto y esperar 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 ha sido reiniciado.
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
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, consulte 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 Receive-Job.
Para obtener más información sobre los trabajos en segundo plano de Windows PowerShell, consulte about_Jobs y about_Remote_Jobs.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
AsJobSet
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-ComputerName
Especifica un nombre de equipo o una matriz separada por comas de nombres de equipo.
Restart-Computer acepta objetos ComputerName de la pipeline 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 utiliza 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.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | CN, __SERVIDOR, Servidor, dirección IP |
Conjuntos de parámetros
(All)
| Posición: | 0 |
| Obligatorio: | False |
| Valor de la canalización: | True |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-Confirm
Le pide confirmación antes de ejecutar Restart-Computer.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | cf |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Credential
Especifica una cuenta de usuario que tiene permiso para realizar esta acción. Escriba un nombre de usuario, como User01, Domain01\User01, o escriba un objeto de PSCredential generado por el cmdlet Get-Credential.
Si no se especifica el parámetro credential
Propiedades de parámetro
| Tipo: | PSCredential |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | 1 |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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.
Propiedades de parámetro
| Tipo: | AuthenticationLevel |
| Valor predeterminado: | None |
| Valores aceptados: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Autenticación |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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 los parámetros Wait y For.
Este parámetro se introdujo en Windows PowerShell 3.0.
Si no se especifica el parámetro Delay, Restart-Computer utiliza un retraso de cinco segundos.
Propiedades de parámetro
| Tipo: | Int16 |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
DefaultSet
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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.
Propiedades de parámetro
| Tipo: | WaitForServiceTypes |
| Valor predeterminado: | None |
| Valores aceptados: | Wmi, WinRM, PowerShell |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
DefaultSet
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Force
Fuerza un reinicio inmediato del equipo.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | f |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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.
Propiedades de parámetro
| Tipo: | ImpersonationLevel |
| Valor predeterminado: | None |
| Valores aceptados: | Default, Anonymous, Identify, Impersonate, Delegate |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Valores aceptados: | DCOM, WSMan |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
DefaultSet
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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
Propiedades de parámetro
| Tipo: | Int |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
AsJobSet
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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, aunque no se reinicien los equipos.
El parámetro Timeout solo es válido con el parámetro Esperar. Timeout invalida el período de espera indefinido del parámetro Wait.
Este parámetro se introdujo en Windows PowerShell 3.0.
Propiedades de parámetro
| Tipo: | Int |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | TimeoutSec |
Conjuntos de parámetros
DefaultSet
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Wait
Restart-Computer suprime el símbolo del sistema de PowerShell y bloquea el pipeline hasta que se han reiniciado los equipos. 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 el Timeout para ajustar el tiempo y los parámetros For y 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 del parámetro ComputerName contiene los nombres de los ordenadores remotos y del ordenador local, Restart-Computer genera un error no terminal para Wait en el ordenador local, pero espera a que se reinicien los ordenadores remotos.
Este parámetro se introdujo en Windows PowerShell 3.0.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
DefaultSet
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-WhatIf
Muestra lo que ocurriría si se ejecuta Restart-Computer. El cmdlet Restart-Computer no se ejecuta.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Wi |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Valores aceptados: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
DefaultSet
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
Entradas
String
Restart-Computer acepta nombres de equipo de la canalización o variables.
En Windows PowerShell 2.0, el parámetro ComputerName toma la entrada de la canalización solo por nombre de propiedad. En Windows PowerShell 3.0 y versiones posteriores, el parámetro ComputerName toma la entrada de la canalización por valor.
Salidas
None, System.Management.Automation.RemotingJob
Si especifica el parámetro AsJob, Restart-Computer devuelve un objeto de trabajo. De lo contrario, no se genera ninguna salida.
Notas
-
Restart-Computersolo funcionan en equipos que ejecutan Windows y requiere WinRM y WMI para apagar un sistema, incluido el sistema local. -
Restart-Computerusa el método Win32Shutdown de la clase Win32_OperatingSystem Instrumental de administración de Windows (WMI).
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.