Um die Windows 10 Version abzufragen nutze ich ein einfaches PowerShell Skript. (Aus einigen Beispielen im Netz zusammengestückelt.)
Als Ausgabe hätte ich gerne die komplette Version inklusive der Build Nummer. (ähnlich dem winver Befehl)
check_os.ps1
# # get complete Windows Version (like the winver output) # $release = (Get-WmiObject Win32_OperatingSystem).caption $arch = (Get-WmiObject Win32_OperatingSystem).OSArchitecture $version = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").ReleaseId $build = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").CurrentBuild $ubr = (Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion").UBR Write-Host $release, $version, "(Build" $build"."$ubr")", $arch
Test in der Konsole.
C:\> powershell -f c:\tools\check_os.ps1 Microsoft Windows 10 Pro 1909 (Build 18363.836) 64-Bit
Windows Agent (1.6 neu)
Das check_os.ps1 script kopiere ich nach C:\ProgramData\checkmk\agent\mrpe.
In der C:\ProgramData\checkmk\agent\check_mk.user.yml wird der neue check angelegt.
mrpe: enabled: true config: - check = check_os C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -noprofile -executionpolicy bypass -file C:\ProgramData\checkmk\agent\mrpe\check_os.ps1
Die Ausgabe der mrpe section des Agents kann im Terminal getestet werden.
C:\Program Files (x86)\checkmk\service>check_mk_agent.exe section mrpe <<<mrpe>>> (powershell.exe) check_os 0 Microsoft Windows 10 Pro 1909 (Build 18363.836) 64-Bit
Die Konfiguration muss jetzt neu eingelesen werden.
C:\Program Files (x86)\checkmk\service>check_mk_agent.exe reload_config Reloading configuration... Asking for reload service Asking for reload executable Done.
Auf dem Host erscheint jetzt der neue service check und kann übernommen werden.
Windows Agent (1.5 legacy)
Den Service Check konfiguriert man in der C:\Program Files (x86)\check_mk\check_mk.ini
[mrpe] # Run classical monitoring plugins. check = check_os C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -f "C:\Program Files (x86)\check_mk\check_os.ps1"
Den Check_MK_Agent Dienst neu starten. Auf dem Monitoring Server kann der check jetzt aktiviert werden.