Changement de l’état de l’ordinateur

Cet exemple s’applique uniquement aux plateformes Windows.

Pour réinitialiser un ordinateur dans PowerShell, utilisez un outil en ligne de commande standard, ou WMI ou une classe CIM. Même si vous utilisez PowerShell uniquement pour exécuter l’outil, apprendre à modifier l’état d’alimentation d’un ordinateur dans PowerShell permet de comprendre certains aspects importants de l’utilisation d’outils externes dans PowerShell.

Verrouillage d’un ordinateur

La seule façon de verrouiller un ordinateur directement avec les outils disponibles standards consiste à appeler la fonction LockWorkstation() dans user32.dll:

rundll32.exe user32.dll,LockWorkStation

Cette commande verrouille immédiatement la station de travail. Elle utilise rundll32.exe pour appeler la fonction LockWorkStation dans user32.dll.

Lorsque vous verrouillez une station de travail alors que l’option Changement rapide d’utilisateur est activée, par exemple sous Windows XP, l’ordinateur affiche l’écran d’ouverture de session utilisateur au lieu de lancer l’économiseur d’écran de l’utilisateur actuel.

Pour arrêter des sessions particulières sur un serveur Terminal Server, utilisez l’outil en ligne de commande tsshutdn.exe.

Déconnexion de la session en cours

Pour vous déconnecter d’une session sur le système local, vous pouvez utiliser différentes techniques. La solution la plus simple consiste à utiliser l’outil en ligne de commande Bureau à distance/Services Terminal Server, logoff.exe (pour plus d’informations, à l’invite PowerShell, tapez logoff /?). Pour fermer la session active, tapez logoff sans argument.

Vous pouvez également recouvrir à l’outil shutdown.exe avec son option logoff :

shutdown.exe -l

Une autre option consiste à utiliser WMI. La classe Win32_OperatingSystem dispose d’une méthode Arrêt. L’appel de la méthode avec l’indicateur 0 déclenche la fermeture de session :

Pour plus d’informations, consultez la méthode Arrêt, de la classe Win32_OperatingSystem

Get-CimInstance -ClassName Win32_OperatingSystem | Invoke-CimMethod -MethodName Shutdown

Arrêt ou redémarrage d’un ordinateur

L’arrêt et le redémarrage des ordinateurs sont des tâches similaires. La plupart des outils en ligne de commande prennent en charge les deux actions. Windows inclut deux outils en ligne de commande pour redémarrer un ordinateur. Utilisez tsshutdn.exe ou shutdown.exe avec des arguments appropriés. Vous pouvez obtenir des informations d’utilisation détaillées à partir de tsshutdn.exe /? ou shutdown.exe /?.

Vous pouvez exécuter des opérations d’arrêt et de redémarrage directement depuis PowerShell.

Pour arrêter l’ordinateur, utilisez la commande Stop-Computer

Stop-Computer

Pour redémarrer le système d’exploitation, utilisez la commande Restart-Computer

Restart-Computer

Pour forcer un redémarrage immédiat de l’ordinateur, utilisez le paramètre -Force.

Restart-Computer -Force