Les administrateurs système doivent souvent redémarrer les ordinateurs Windows à distance pour la maintenance, les mises à jour ou le dépannage. PowerShell propose plusieurs méthodes efficaces pour accomplir cette tâche. Cet article explore six techniques efficaces pour redémarrer des ordinateurs Windows à distance à l'aide de PowerShell, allant des simples applets de commande aux approches plus avancées.
Conditions préalables au redémarrage à distance
Avant de tenter de redémarrer un ordinateur Windows distant, assurez-vous d'avoir :
- Un compte utilisateur avec des privilèges d'administrateur local sur l'ordinateur distant.
- PowerShell ou PowerShell Core installé sur votre ordinateur local.
- Gestion à distance Windows (WinRM) configurée et autorisée via le pare-feu de l'ordinateur distant.
- Windows Management Instrumentation (WMI) autorisé via le pare-feu de l'ordinateur distant.
Il est également crucial de vérifier que le système distant n'est pas déjà en attente d'un redémarrage avant de procéder à des commandes de redémarrage.
Méthode 1 : utilisation de l’applet de commande Restart-Computer
LeRestart-ComputerL'applet de commande est la méthode la plus simple et la plus flexible pour redémarrer des ordinateurs Windows distants.
Étape 1 :Ouvrez PowerShell en tant qu'administrateur sur votre ordinateur local.
Étape 2 :Utilisez la commande suivante pour redémarrer un seul ordinateur distant :
Restart-Computer -ComputerName "RemotePC" -Force
Remplacez « RemotePC » par le nom ou l'adresse IP réelle de l'ordinateur distant que vous souhaitez redémarrer.
Étape 3 :Pour redémarrer plusieurs ordinateurs en parallèle, vous pouvez utiliser la commande suivante :
$ComputerArray | ForEach-Object -Parallel {
Restart-Computer -ComputerName $_ -Force
} -ThrottleLimit 3
Cette commande utilise les capacités de traitement parallèle de PowerShell pour redémarrer plusieurs ordinateurs simultanément, avec une limite de limitation de 3 pour contrôler l'utilisation des ressources.
Méthode 2 : tirer parti d’Invoke-CimMethod
LeInvoke-CimMethodL'applet de commande utilise Windows Management Instrumentation (WMI) pour redémarrer le système distant.
Étape 1 :Ouvrez PowerShell en tant qu'administrateur.
Étape 2 :Exécutez la commande suivante :
Invoke-CimMethod -ComputerName "RemotePC" -ClassName 'Win32_OperatingSystem' -MethodName 'Reboot'
Remplacez « RemotePC » par le nom ou l'adresse IP de l'ordinateur cible.
Cette méthode est particulièrement utile lorsque vous travaillez avec des systèmes dotés de configurations WMI spécifiques ou lorsque vous devez effectuer d'autres tâches liées à WMI parallèlement à l'opération de redémarrage.
Méthode 3 : Utilisation de la commande shutdown.exe
Leshutdown.exeLa commande est un utilitaire Windows intégré qui peut être utilisé pour redémarrer des ordinateurs distants.
Étape 1 :Ouvrez PowerShell en tant qu'administrateur.
Étape 2 :Exécutez la commande suivante :
shutdown.exe /m \RemotePC /r /t 0
Remplacez « RemotePC » par le nom de l'ordinateur distant que vous souhaitez redémarrer.
Cette méthode nécessite que le service Registre distant soit activé sur l'ordinateur distant et que WMI soit autorisé via le pare-feu Windows.
Méthode 4 : utilisation de PSExec.exe
PSExec.exe fait partie de la boîte à outils Sysinternals et offre des fonctionnalités uniques pour interagir avec les systèmes distants.
Étape 1 :Téléchargez et installez la suite Sysinternals à partir du site Web officiel de Microsoft.
Étape 2 :Ouvrez PowerShell en tant qu'administrateur et accédez au répertoire contenant PSExec.exe.
Étape 3 :Exécutez la commande suivante :
.psexec.exe -d -h \RemotePC "shutdown.exe /r /t 0 /f"
Remplacez « RemotePC » par le nom de l'ordinateur cible.
Cette méthode nécessite que le service SMB soit en cours d'exécution, que le partage de fichiers et d'imprimantes soit activé, que le partage de fichiers simple soit désactivé et que le partage administratif admin$ soit disponible sur l'ordinateur distant.
Méthode 5 : Utilisation de RunDLL32.exe via Invoke-Command
Cette méthode combinerundll32.exeavec PowerShellInvoke-Commandpour redémarrer un système distant.
Étape 1 :Ouvrez PowerShell en tant qu'administrateur.
Étape 2 :Exécutez l'une des commandes suivantes :
Méthode 5a :
Invoke-Command -ComputerName "RemotePC" -ScriptBlock { & rundll32.exe user.exe,ExitWindowsExec }
Méthode 5b :
Invoke-Command -ComputerName "RemotePC" -ScriptBlock { & rundll32.exe shell32.dll,SHExitWindowsEx 2 }
Remplacez « RemotePC » par le nom ou l'adresse IP de l'ordinateur distant.
Ces méthodes sont utiles lorsque vous devez effectuer des opérations à distance supplémentaires parallèlement au processus de redémarrage.
Méthode 6 : forcer un redémarrage avec Taskkill.exe
Cette méthode force un redémarrage de Windows en mettant fin à un processus système critique.
Étape 1 :Ouvrez PowerShell en tant qu'administrateur.
Lecture suggérée :Comment arrêter ou redémarrer à distance un PC Windows
Étape 2 :Exécutez la commande suivante :
taskkill.exe /S \RemotePC /IM lsass.exe /F
Remplacez « RemotePC » par le nom de l'ordinateur cible.
Prudence:Cette méthode doit être utilisée en dernier recours, car elle met fin de force à un processus Windows critique. Cela peut entraîner une perte de données ou une instabilité du système s’il n’est pas utilisé avec précaution.
Ces six méthodes offrent aux administrateurs système une gamme d'options pour redémarrer les ordinateurs Windows à distance à l'aide de PowerShell. Choisissez la méthode qui correspond le mieux à vos besoins spécifiques et à votre configuration réseau. N'oubliez pas de tester ces commandes dans un environnement contrôlé avant de les utiliser dans un environnement de production.







![[Changelog] Quoi de neuf dans Google Chrome 130 et versions ultérieures](https://media.askvg.com/articles/images2/Google_Chrome.png)




