Partager via


Restart-Computer

Redémarre le système d’exploitation sur les ordinateurs locaux et distants.

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

L’applet Restart-Computer de commande redémarre le système d’exploitation sur les ordinateurs locaux et distants.

Vous pouvez utiliser les paramètres de l’exécution des opérations de Restart-Computer redémarrage en tant que travail en arrière-plan, pour spécifier les niveaux d’authentification et les autres informations d’identification, pour limiter les opérations qui s’exécutent en même temps et forcer un redémarrage immédiat.

À compter de Windows PowerShell 3.0, vous pouvez attendre la fin du redémarrage avant d’exécuter la commande suivante. Spécifiez un délai d’attente et un intervalle de requête, puis attendez que des services particuliers soient disponibles sur l’ordinateur redémarré. Cette fonctionnalité rend pratique l’utilisation Restart-Computer dans les scripts et les fonctions.

Vous pouvez utiliser le protocole WS-Management (WSMan) pour redémarrer l’ordinateur, au cas où les appels DCOM (Distributed Component Object Model) sont bloqués, par exemple par un pare-feu d’entreprise. Pour plus d’informations, consultez WS-Management Protocol.

Cette applet de commande nécessite la communication à distance Windows PowerShell uniquement lorsque vous utilisez le paramètre AsJob dans une commande.

Exemples

Exemple 1 : Redémarrer l’ordinateur local

Restart-Computer redémarre l’ordinateur local.

Restart-Computer

Exemple 2 : Redémarrer plusieurs ordinateurs

Restart-Computer peut redémarrer des ordinateurs distants et locaux. Le paramètre ComputerName accepte un tableau de noms d’ordinateurs.

Restart-Computer -ComputerName Server01, Server02, localhost

Exemple 3 : Redémarrer les ordinateurs en tant que travail en arrière-plan

Ces commandes exécutent une Restart-Computer commande en tant que travail en arrière-plan sur deux ordinateurs distants, puis obtiennent les résultats.

Étant donné que AsJob crée le travail sur l’ordinateur local et retourne automatiquement les résultats à l’ordinateur local, vous pouvez exécuter Receive-Job en tant que commande locale.

$Job = Restart-Computer -ComputerName "Server01", "Server02" -AsJob
$Job | Receive-Job

Restart-Computer utilise le paramètre ComputerName pour spécifier Server01 et Server02. Le paramètre AsJob exécute la commande en tant que travail en arrière-plan. L’objet de travail est stocké dans la $Job variable. $Job est envoyé au pipeline vers l’applet Receive-Job de commande qui obtient les résultats.

Exemple 4 : Redémarrer un ordinateur distant

Restart-Computer redémarre un ordinateur distant avec des paramètres d’emprunt d’identité et d’authentification personnalisés.

Restart-Computer -ComputerName Server01 -Impersonation Anonymous -DcomAuthentication PacketIntegrity

Restart-Computer utilise le paramètre ComputerName pour spécifier Server01. Le paramètre Impersonation spécifie Anonymous pour masquer l’identité du demandeur. Le paramètre DcomAuthentication spécifie PacketIntegrity comme niveau d’authentification de la connexion.

Exemple 5 : Forcer le redémarrage des ordinateurs répertoriés dans un fichier texte

Cet exemple force un redémarrage immédiat des ordinateurs répertoriés dans le Domain01.txt fichier. Les noms d’ordinateurs du fichier texte sont stockés dans une variable. Le paramètre Force force un redémarrage immédiat et le paramètre ThrottleLimit limite le nombre de connexions simultanées.

$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force -ThrottleLimit 10

Get-Content utilise le paramètre Path pour obtenir la liste des noms d’ordinateurs à partir d’un fichier texte, Domain01.txt. Les noms d’ordinateurs sont stockés dans la variable $Names. Get-Credential vous invite à entrer un nom d’utilisateur et un mot de passe et à stocker les valeurs dans la variable $Creds. Restart-Computer utilise les paramètres ComputerName et Credential avec leurs variables. Le paramètre Force provoque un redémarrage immédiat de chaque ordinateur. Le paramètre ThrottleLimit limite la commande à 10 connexions simultanées.

Exemple 6 : Redémarrer un ordinateur distant et attendre PowerShell

Restart-Computer redémarre l’ordinateur distant, puis attend jusqu’à 5 minutes (300 secondes) pour que PowerShell devienne disponible sur l’ordinateur redémarré avant de continuer.

Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2

Restart-Computer utilise le paramètre ComputerName pour spécifier Server01. Le paramètre Wait attend la fin du redémarrage. La commande For spécifie que PowerShell peut exécuter des commandes sur l’ordinateur distant. Le paramètre Timeout spécifie une attente de cinq minutes. Le paramètre Delay interroge l’ordinateur distant toutes les deux secondes pour déterminer s’il est redémarré.

Exemple 7 : Redémarrer un ordinateur à l’aide du protocole WSMan

Restart-Computer redémarre l’ordinateur distant à l’aide du protocole WSMan au lieu de la DCOM par défaut. L’authentification Kerberos détermine si l’utilisateur actuel est autorisé à redémarrer l’ordinateur distant.

Ces paramètres sont conçus pour les entreprises dans lesquelles les redémarrages basés sur DCOM échouent, car DCOM est bloqué. Par exemple, par un pare-feu.

Restart-Computer -ComputerName Server01 -Protocol WSMan -WsmanAuthentication Kerberos

Restart-Computer utilise le paramètre ComputerName pour spécifier l’ordinateur distant, Server01. Le paramètre protocole spécifie d’utiliser le protocole WSMan. Le paramètre WsmanAuthentication spécifie la méthode d’authentification en tant que Kerberos.

Paramètres

-AsJob

Indique qu’il s’exécute en tant que Restart-Computer travail en arrière-plan.

Pour utiliser ce paramètre, les ordinateurs locaux et distants doivent être configurés pour la communication à distance. Sur Windows Vista et les versions ultérieures du système d’exploitation Windows, vous devez ouvrir PowerShell à l’aide de l’option Exécuter en tant que Administration istrator. Pour plus d’informations, consultez about_Remote_Requirements.

Lorsque vous spécifiez le paramètre AsJob , la commande retourne immédiatement un objet qui représente le travail en arrière-plan. Vous pouvez continuer à travailler dans la session pendant l'exécution de la tâche. La tâche est créée sur l'ordinateur local et les résultats provenant d'ordinateurs distants sont automatiquement retournés à l'ordinateur local. Pour gérer le travail, utilisez les applets de commande Job . Pour obtenir les résultats du travail, utilisez l’applet Receive-Job de commande.

Pour plus d’informations sur les travaux en arrière-plan Windows PowerShell, consultez about_Jobs et about_Remote_Jobs.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Spécifie un nom d’ordinateur ou un tableau séparé par des virgules de noms d’ordinateurs. Restart-Computer accepte les objets ComputerName du pipeline ou des variables.

Tapez le nom NetBIOS, une adresse IP ou un nom de domaine complet d'un ordinateur distant. Pour spécifier l’ordinateur local, tapez le nom de l’ordinateur, un point .ou un localhost.

Ce paramètre ne s’appuie pas sur la communication à distance PowerShell. Vous pouvez utiliser le paramètre ComputerName même si votre ordinateur n’est pas configuré pour exécuter des commandes distantes.

Si le paramètre ComputerName n’est pas spécifié, Restart-Computer redémarre l’ordinateur local.

Type:String[]
Aliases:CN, __SERVER, Server, IPAddress
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Vous invite à confirmer avant d’exécuter Restart-Computer.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Spécifie un compte d’utilisateur autorisé à effectuer cette action. La valeur par défaut est l’utilisateur actuel.

Tapez un nom d’utilisateur, tel que User01 ou Domain01\User01, ou entrez un objet PSCredential généré par l’applet Get-Credential de commande. Si vous tapez un nom d’utilisateur, vous êtes invité à entrer le mot de passe.

Les informations d’identification sont stockées dans un objet PSCredential et le mot de passe est stocké en tant que SecureString.

Remarque

Pour plus d’informations sur la protection des données SecureString , consultez Comment secure is SecureString ?.

Type:PSCredential
Position:1
Default value:Current user
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DcomAuthentication

Spécifie le niveau d'authentification utilisé pour la connexion WMI Restart-Computer utilise WMI.

Les valeurs valides sont :

  • Appel : Authentification COM au niveau de l’appel
  • Connecter : authentification COM au niveau Connecter
  • Valeur par défaut : Authentification Windows
  • Aucun : Aucune authentification COM
  • Paquet : Authentification COM au niveau du paquet.
  • PacketIntegrity : Authentification COM au niveau de l’intégrité des paquets
  • PacketPrivacy : Authentification COM au niveau de la confidentialité des paquets.
  • Inchangé : le niveau d’authentification est identique à la commande précédente.

Pour plus d’informations, consultez l’énumération AuthenticationLevel.

Ce paramètre est introduit dans 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

Spécifie la fréquence des requêtes, en secondes. PowerShell interroge le service spécifié par le paramètre For pour déterminer si le service est disponible après le redémarrage de l’ordinateur.

Ce paramètre est valide uniquement avec les paramètres Wait et For .

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Si le paramètre Delay n’est pas spécifié, Restart-Computer utilise un délai de cinq secondes.

Type:Int16
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-For

Spécifie le comportement de PowerShell lorsqu’il attend que le service ou la fonctionnalité spécifiés devienne disponible après le redémarrage de l’ordinateur. Ce paramètre est valide uniquement avec le paramètre Wait .

Les valeurs valides pour ce paramètre sont :

  • Valeur par défaut : attend que PowerShell redémarre.
  • PowerShell : peut exécuter des commandes dans une session à distance PowerShell sur l’ordinateur.
  • WMI : reçoit une réponse à une requête de Win32_ComputerSystem pour l’ordinateur.
  • WinRM : peut établir une session distante sur l’ordinateur à l’aide de WS-Management.

Ce paramètre a été introduit dans 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

Force un redémarrage immédiat de l’ordinateur.

Type:SwitchParameter
Aliases:f
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Impersonation

Spécifie le niveau d’emprunt d’identité que cette applet de commande utilise pour appeler WMI. Restart-Computer utilise WMI. Les valeurs valides pour ce paramètre sont :

  • Valeur par défaut : emprunt d’identité par défaut. Malgré le nom, ce n’est pas la valeur par défaut.
  • Anonyme : masque l’identité de l’appelant.
  • Identifier : permet aux objets d’interroger les informations d’identification de l’appelant.
  • Emprunt d’identité : permet aux objets d’utiliser les informations d’identification de l’appelant.
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

Spécifie le protocole à utiliser pour redémarrer les ordinateurs. Les valeurs valides sont WSMan et DCOM.

Ce paramètre est introduit dans 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

Spécifie le nombre maximal de connexions simultanées qui peuvent être établies pour exécuter cette commande. La limite d'accélération s'applique uniquement à la commande actuelle, et non à la session ou à l'ordinateur.

Si le paramètre ThrottleLimit n’est pas spécifié ou qu’une valeur de 0 est utilisée, Restart-Computer utilise un maximum de 32 connexions simultanées.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Timeout

Spécifie la durée de l'attente, en secondes. Lorsque le délai d’expiration est écoulé, Restart-Computer retourne à l’invite de commandes, même si les ordinateurs ne sont pas redémarrés.

Le paramètre Timeout est valide uniquement avec le paramètre Wait . Le délai d’attente remplace la période d’attente indéfinie du paramètre Wait .

Ce paramètre a été introduit dans 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 supprime l’invite PowerShell et bloque le pipeline jusqu’à ce que les ordinateurs aient redémarré. Vous pouvez utiliser ce paramètre dans un script pour redémarrer les ordinateurs, puis continuer à traiter une fois le redémarrage terminé.

Le paramètre Wait attend indéfiniment que les ordinateurs redémarrent. Vous pouvez utiliser Le délai d’expiration pour ajuster le minutage et les paramètres For et Delay pour attendre que des services particuliers soient disponibles sur les ordinateurs redémarrés.

Le paramètre Wait n’est pas valide lorsque vous redémarrez l’ordinateur local. Si la valeur du paramètre ComputerName contient les noms des ordinateurs distants et de l’ordinateur local, Restart-Computer génère une erreur sans fin pour Attendre sur l’ordinateur local, mais attend que les ordinateurs distants redémarrent.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Affiche ce qui se passerait si les Restart-Computer exécutions sont exécutées. L’applet Restart-Computer de commande n’est pas exécutée.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WsmanAuthentication

Spécifie le mécanisme utilisé pour authentifier les informations d’identification de l’utilisateur. Ce paramètre a été introduit dans Windows PowerShell 3.0.

Les valeurs acceptables pour ce paramètre sont les suivantes : Basic, CredSSP, Default, Digest, Kerberos et Negotiate.

Pour plus d’informations, consultez AuthenticationMechanism.

Avertissement

L’authentification CredSSP (Credential Security Service Provider), dans laquelle les informations d’identification de l’utilisateur sont transmises à un ordinateur distant à authentifier, est conçue pour les commandes qui nécessitent une authentification sur plusieurs ressources, telles que l’accès à un partage réseau distant. Ce mécanisme augmente le risque de sécurité lié à l'opération distante. Si l'ordinateur distant n'est pas fiable, les informations d'identification qui lui sont passées peuvent être utilisées pour contrôler la session réseau.

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

Entrées

String

Vous pouvez diriger une chaîne contenant un nom d’ordinateur vers cette applet de commande.

Sorties

None

Par défaut, cette applet de commande ne retourne aucune sortie.

System.Management.Automation.RemotingJob

Lorsque vous utilisez le paramètre AsJob , cette applet de commande retourne un objet de travail.

Notes

  • Restart-Computer Fonctionne uniquement sur les ordinateurs exécutant Windows et nécessite WinRM et WMI pour arrêter un système, y compris le système local.
  • Restart-Computer utilise la méthode Win32Shutdown de la classe WMI (Windows Management Instrumentation) Win32_OperatingSystem . Cette méthode nécessite que le privilège SeShutdownPrivilege soit activé pour le compte d’utilisateur utilisé pour redémarrer l’ordinateur.

Dans Windows PowerShell 2.0, le paramètre AsJob ne fonctionne pas de manière fiable lorsque vous redémarrez ou arrêtez des ordinateurs distants. Dans Windows PowerShell 3.0, l'implémentation est modifiée pour résoudre ce problème.