Pour réinitialiser un ordinateur dans Windows PowerShell, utilisez soit un outil de ligne de commande standard, soit une classe WMI. Même si vous utilisez Windows PowerShell uniquement pour exécuter l'outil, la procédure de modification de l'état d'alimentation d'un ordinateur dans Windows PowerShell illustre certaines informations importantes relatives à l'utilisation d'outils externes dans Windows PowerShell.

Verrouillage d'un ordinateur

La seule façon de verrouiller directement un ordinateur avec les outils standard disponibles 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, qui exécute des DLL Windows (et enregistre leurs bibliothèques pour une utilisation répétée) pour exécuter user32.dll, une bibliothèque de fonctions de gestion Windows.

Lorsque vous verrouillez une station de travail alors que l'option Changement rapide d'utilisateur est active, notamment sur Windows XP, l'écran affiche l'écran d'ouverture de session utilisateur au lieu de démarrer l'écran de veille de l'utilisateur actuel.

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

Fermeture de la session active

Vous pouvez utiliser différentes techniques pour fermer une session sur un système local. Le moyen le plus simple consiste à utiliser l'outil de ligne de commande du Bureau à distance/des services Terminal Server, logoff.exe (pour plus de détails, tapez logoff /? à l'invite PowerShell). Pour fermer la session active, tapez logoff sans arguments.

Vous pouvez également utiliser l'outil shutdown.exe avec son option de fermeture de session :

shutdown.exe -l

Une troisième possibilité consiste à utiliser WMI. La classe Win32_OperatingSystem a une méthode Win32Shutdown. L'appel de cette méthode avec l'indicateur 0 lance la fermeture de session :

(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(0)

Pour plus d'informations et rechercher les autres fonctionnalités de la méthode Win32Shutdown, consultez la rubrique « Win32Shutdown Method of the Win32_OperatingSystem Class » (en anglais) dans MSDN.

Arrêt ou redémarrage d'un ordinateur

L'arrêt et le redémarrage d'un ordinateur sont généralement deux tâches de même type. Les outils qui arrêtent un ordinateur permettent généralement de le redémarrer, et inversement. Il existe deux options simples pour redémarrer un ordinateur à partir de Windows PowerShell. Vous pouvez utiliser soit Tsshutdn.exe, soit Shutdown.exe avec les arguments appropriés. Vous pouvez obtenir les informations d'utilisation détaillées de tsshutdn.exe /? ou shutdown.exe /?.

Vous pouvez également procéder à l'arrêt et au redémarrage en utilisant directement Win32_OperatingSystem dans Windows PowerShell.

Pour arrêter l'ordinateur, utilisez la méthode Win32Shutdown avec l'indicateur 1.

(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(1)

Pour redémarrer le système d'exploitation, utilisez la méthode Win32Shutdown avec l'indicateur 2.

(Get-WmiObject -Class Win32_OperatingSystem -ComputerName .).Win32Shutdown(2)




Table des matières