Ce script PowerShell vous permettra de connaître la date de reboot d’un système Windows distant. Idéal donc pour savoir depuis combien de temps tourne une machine ou si le reboot que vous aviez programmé à bien eu lieu.
Créez un fichier ScriptWMI.vbs à l’aide d’un éditeur de texte et insérez le code suivant:
$ComputerName = "."
$OS = Get-CimInstance -ClassName Win32_OperatingSystem -ComputerName $ComputerName
$LastBootUpTime = $OS.LastBootUpTime
$SystemUptime = (Get-Date) - $LastBootUpTime
Write-Host "Date de redémarrage : $LastBootUpTime"
Write-Host "Temps écoulé depuis le redémarrage : $($SystemUptime.Hours) heures"
Ce script utilise l’applet de commande Get-CimInstance pour interroger la classe Win32_OperatingSystem sur le serveur local (vous pouvez changer le nom du serveur dans la variable $ComputerName en remplaçant le . par le nom du serveur).
Il récupère ensuite la propriété LastBootUpTime qui est déjà au format DateTime et donc facilement manipulable. Il soustrait cette valeur à la date actuelle pour obtenir le temps écoulé depuis le redémarrage en heures.
Il affiche ensuite les résultats à l’écran avec l’applet de commande Write-Host.
Ce script est plus court et plus lisible qu’un script équivalent en VBScript. Il utilise également les applets de commande CIM qui sont plus performantes et plus compatibles que les applets de commande WMI.
Vous pouvez également utiliser d’autres langages ou outils pour interroger WMI sur un serveur Windows, comme WMIC.exe ou SystemInfo.exe, mais PowerShell est sans doute le plus adapté et le plus puissant. 😉
J’espère que cet article vous a été utile et que vous avez appris quelque chose de nouveau. N’hésitez pas à me laisser vos commentaires ou questions ci-dessous. A bientôt ! 😃