Restart-Computer
Redémarre le système d’exploitation sur les ordinateurs locaux et distants.
Syntaxe
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 qu’administrateur . 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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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[] |
Alias: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-Confirm
Vous invite à confirmer avant d’exécuter Restart-Computer
.
Type: | SwitchParameter |
Alias: | cf |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 |
Valeur par défaut: | Current user |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-DcomAuthentication
Spécifie le niveau d'authentification utilisé pour la connexion WMI Restart-Computer
utilise WMI.
Les valeurs autorisées sont :
- Appel : Authentification COM au niveau de l’appel
- Connexion : Authentification COM au niveau de la connexion
- 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 |
Alias: | Authentication |
Valeurs acceptées: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 |
Valeurs acceptées: | Wmi, WinRM, PowerShell |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Force
Force un redémarrage immédiat de l’ordinateur.
Type: | SwitchParameter |
Alias: | f |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 |
Valeurs acceptées: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 |
Valeurs acceptées: | DCOM, WSMan |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 |
Alias: | TimeoutSec |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 |
Alias: | wi |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | 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 |
Valeurs acceptées: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
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.