Restart-Computer
Redémarre le système d’exploitation sur les ordinateurs locaux et distants.
Syntaxe
DefaultSet (Par défaut)
Restart-Computer
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-DcomAuthentication <AuthenticationLevel>]
[-Impersonation <ImpersonationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-Force]
[-Wait]
[-Timeout <Int32>]
[-For <WaitForServiceTypes>]
[-Delay <Int16>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
AsJobSet
Restart-Computer
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-Impersonation <ImpersonationLevel>]
[-Force]
[-ThrottleLimit <Int32>]
[-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 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é permet d’utiliser des 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 protocole.
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 commande Restart-Computer 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 variable $Job.
$Job est envoyé au pipeline à l’applet de commande Receive-Job 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 fichier Domain01.txt. Les noms d’ordinateurs du fichier texte sont stockés dans une variable. Le paramètre Forcer 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 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. 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 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 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 Protocol 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 que Restart-Computer s’exécute en tant que 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, voir 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 la fin du travail. Le travail est créé sur l’ordinateur local et les résultats des 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 de commande Receive-Job.
Pour plus d’informations sur les travaux en arrière-plan Windows PowerShell, consultez about_Jobs et about_Remote_Jobs.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
AsJobSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-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.
Propriétés du paramètre
| Type: | String[] |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | CN, __SERVEUR, Serveur, adresse IP |
Jeux de paramètres
(All)
| Position: | 0 |
| Obligatoire: | False |
| Valeur du pipeline: | True |
| Valeur du pipeline par nom de propriété: | True |
| Valeur des arguments restants: | False |
-Confirm
Vous invite à confirmer avant d’exécuter Restart-Computer.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | cf |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 de SecureString, consultez Quelle est la sécurité de SecureString ?.
Propriétés du paramètre
| Type: | PSCredential |
| Valeur par défaut: | Current user |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | 1 |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-DcomAuthentication
Spécifie le niveau d’authentification utilisé pour la connexion WMI.
Restart-Computer utilise WMI.
Les valeurs valides sont les suivantes :
- d’appel : Authentification COM au niveau de l’appel
- Connect: Authentification COM au niveau de la connexion
- par défaut : Authentification Windows
- Aucun: aucune authentification COM
- paquets : 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 'énumération AuthenticationLevel.
Ce paramètre est introduit dans Windows PowerShell 3.0.
Propriétés du paramètre
| Type: | AuthenticationLevel |
| Valeur par défaut: | None |
| Valeurs acceptées: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Authentification |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Propriétés du paramètre
| Type: | Int16 |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
DefaultSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Propriétés du paramètre
| Type: | WaitForServiceTypes |
| Valeur par défaut: | None |
| Valeurs acceptées: | Wmi, WinRM, PowerShell |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
DefaultSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-Force
Force un redémarrage immédiat de l’ordinateur.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | f |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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 acceptables pour ce paramètre sont les suivantes :
- 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.
Propriétés du paramètre
| Type: | ImpersonationLevel |
| Valeur par défaut: | None |
| Valeurs acceptées: | Default, Anonymous, Identify, Impersonate, Delegate |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Valeurs acceptées: | DCOM, WSMan |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
DefaultSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-ThrottleLimit
Spécifie le nombre maximal de connexions simultanées qui peuvent être établies pour exécuter cette commande. La limite de limitation 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 au maximum 32 connexions simultanées.
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
AsJobSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Propriétés du paramètre
| Type: | Int32 |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | TimeoutSec |
Jeux de paramètres
DefaultSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | None |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
DefaultSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
-WhatIf
Montre ce qui se passerait si le Restart-Computer fonctionne. L’applet de commande Restart-Computer n’est pas exécutée.
Propriétés du paramètre
| Type: | SwitchParameter |
| Valeur par défaut: | False |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
| Alias: | Wi |
Jeux de paramètres
(All)
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | 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.
Propriétés du paramètre
| Type: | String |
| Valeur par défaut: | None |
| Valeurs acceptées: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
| Prend en charge les caractères génériques: | False |
| DontShow: | False |
Jeux de paramètres
DefaultSet
| Position: | Named |
| Obligatoire: | False |
| Valeur du pipeline: | False |
| Valeur du pipeline par nom de propriété: | False |
| Valeur des arguments restants: | False |
CommonParameters
Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.
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-Computerfonctionne 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-Computerutilise 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.
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.