Compartir a través de


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

String

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.