Restart-Computer
Redémarre le système d’exploitation sur les ordinateurs locaux et distants.
Syntaxe
Restart-Computer
[-WsmanAuthentication <String>]
[[-ComputerName] <String[]>]
[[-Credential]<PSCredential>]
[-Force]
[-Wait]
[-Timeout <Int32>]
[-For <WaitForServiceTypes>]
[-Delay <Int16>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
L’applet de commande Restart-Computer
redémarre le système d’exploitation sur les ordinateurs locaux et distants.
Vous pouvez utiliser les paramètres de Restart-Computer
pour exécuter les opérations de redémarrage, spécifier les niveaux d’authentification et les autres informations d’identification, 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é permet d’utiliser des Restart-Computer
dans les scripts et les fonctions.
Dans PowerShell 7.1, Restart-Computer
a été ajouté pour Linux et macOS. Les plateformes autres que Windows ont uniquement les paramètres WhatIf, Confirm et CommonParameters . L’applet de commande appelle simplement la commande native /sbin/shutdown
.
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 : Obtenir des noms d’ordinateurs à partir d’un fichier texte
Restart-Computer
obtient une liste de noms d’ordinateurs à partir d’un fichier texte et redémarre les ordinateurs. Le paramètre ComputerName n’est pas spécifié. Toutefois, étant donné qu’il s’agit du premier paramètre de position, il accepte les noms d’ordinateurs du fichier texte qui sont envoyés dans le pipeline.
Get-Content -Path C:\Domain01.txt | Restart-Computer
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 envoyés dans le pipeline.
Restart-Computer
redémarre chaque ordinateur.
Exemple 4 : 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 fichier Domain01.txt
. Les noms d’ordinateurs du fichier texte sont stockés dans une variable. Le paramètre Force force un redémarrage immédiat.
$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force
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 stocke les valeurs dans la variable $Creds
.
Restart-Computer
utilise les paramètres ComputerName et Credential avec leurs variables. Le paramètre Forcer provoque un redémarrage immédiat de chaque ordinateur.
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 soit 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 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 de WsmanAuthentication
Restart-Computer
redémarre l’ordinateur distant en utilisant le mécanisme WsmanAuthentication.
L’authentification Kerberos détermine si l’utilisateur actuel est autorisé à redémarrer l’ordinateur distant. Pour plus d’informations, consultez AuthenticationMechanism.
Restart-Computer -ComputerName Server01 -WsmanAuthentication Kerberos
Restart-Computer
utilise le paramètre ComputerName pour spécifier l’ordinateur distant, Server01.
Le paramètre WsmanAuthentication spécifie la méthode d’authentification en tant que Kerberos.
Paramètres
-ComputerName
Spécifie un nom d’ordinateur ou un tableau séparé par des virgules de noms d’ordinateurs.
Restart-Computer
accepte des objets ComputerName à partir 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 localhost.
Ce paramètre ne repose pas sur la communication à distance de 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.
Ce paramètre est disponible uniquement sur les plateformes Windows.
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 de commande Get-Credential
. 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 avec SecureString, consultez Quelle est la sécurité de SecureString ?.
Ce paramètre est disponible uniquement sur les plateformes Windows.
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 |
-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 parameters.
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.
Ce paramètre est disponible uniquement sur les plateformes Windows.
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 acceptables pour ce paramètre sont les suivantes :
- 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 à distance sur l’ordinateur à l’aide de WS-Management.
Ce paramètre a été introduit dans Windows PowerShell 3.0. Ce paramètre est disponible uniquement sur les plateformes Windows.
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.
Ce paramètre est disponible uniquement sur les plateformes Windows.
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 |
-Timeout
Spécifie la durée de l’attente, en secondes. Lorsque le délai d’expiration s’écoule, 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. Timeout remplace le délai d’attente indéfini du paramètre Wait.
Ce paramètre a été introduit dans Windows PowerShell 3.0.
Ce paramètre est disponible uniquement sur les plateformes Windows.
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 Timeout 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 de non-fin pour Wait sur l’ordinateur local, mais attend que les ordinateurs distants redémarrent.
Ce paramètre a été introduit dans Windows PowerShell 3.0. Ce paramètre est disponible uniquement sur les plateformes Windows.
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
Montre ce qui se passerait si le Restart-Computer
fonctionne. L’applet de commande Restart-Computer
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 : de base, CredSSP, Par défaut, Digest, Kerberoset Négocier.
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é de l’opération à distance. Si l’ordinateur distant est compromis, les informations d’identification qui lui sont transmises peuvent être utilisées pour contrôler la session réseau.
Ce paramètre est disponible uniquement sur les plateformes Windows.
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
Cette applet de commande ne retourne aucune sortie.
Notes
- Dans Windows,
Restart-Computer
utilise la méthode Win32Shutdown de la classe Win32_OperatingSystem Windows Management Instrumentation (WMI). Cette méthode nécessite que le privilège SeShutdownPrivilege soit activé pour le compte d’utilisateur utilisé pour redémarrer l’ordinateur. - Cette applet de commande a été ajoutée pour Linux et macOS dans PowerShell 7.1. Sur Linux et macOS,
Restart-Computer
utilise l’outil bash/sbin/shutdown
.