xyz+ - stock.adobe.com

Wie Sie Windows-Versionen über das Netzwerk abfragen

Administratoren können per PowerShell, Active Directory oder Open-Source-Tools wie Nmap installierte Windows-Versionen im Netzwerk gezielt abfragen und dokumentieren.

In vielen Fällen ist es notwendig, dass Admins die genaue Version der installierten Windows-Variante abfragen, zum Beispiel zur Installation von Updates, zum Schließen von Sicherheitslücken oder zur Migration. Es stehen dazu verschiedene Möglichkeiten zur Verfügung.

Wenn Admins die installierte Windows-Version von Arbeitsstationen und Servern im Netzwerk herausfinden wollen, gibt es verschiedene Möglichkeiten. Nutzen Unternehmen zum Beispiel Active Directory, sind alle Mitgliedsserver und -Computer als Objekt in Active Directory zu finden. Im Tool Active-Directory-Standorte und -Dienste (dsa.msc) sind die Computerobjekte standardmäßig bei Computers zu finden. In den Eigenschaften des Computerobjekts finden Sie die Registerkarte Betriebssystem.

Netzwerk in Active Directory
Abbildung 1: Die Betriebssystemversion von Windows-Rechnern lässt sich über das Netzwerk in Active Directory mit dort angelegten Benutzern und Computern in Erfahrung bringen.

Abfrage des Betriebssystems über das Netzwerk mit PowerShell und WMI

PowerShell bietet über WMI und CIM-Klassen eine Vielzahl an Befehlen, um solche Daten ohne zusätzliche Tools gezielt abzufragen. Voraussetzung ist ein funktionierender Netzwerkzugriff sowie entsprechende Berechtigungen im Zielsystem. Der klassische Weg erfolgt über Get-WmiObject. Die folgende Abfrage ermittelt die Betriebssystemversion eines entfernten Rechners:

Get-WmiObject -Class Win32_OperatingSystem -ComputerName pc1.joos.int

Dieser Befehl nutzt DCOM-basierte Kommunikation, um die Win32-OperatingSystem-Klasse auf dem Remote-System pc1.joos.int zu lesen. Ausgabenparameter wie Caption, Version, BuildNumber und OSArchitecture liefern präzise Informationen über das installierte Windows. Für übersichtliche Resultate lassen sich gezielt Eigenschaften auswählen:

Get-WmiObject -Class Win32_OperatingSystem -ComputerName pc1.joos.int |
Select-Object PSComputerName, Caption, Version, OSArchitecture

PSComputerName zeigt den Abfrage-Host an. Das hilft bei gleichzeitiger Abfrage mehrerer Systeme.

Abfragen mit Invoke-Command und PowerShell-Remoting

Wenn PowerShell-Remoting aktiviert ist, bietet Invoke-Command eine performante Alternative:

Invoke-Command -ComputerName pc1.joos.int -ScriptBlock {
  Get-CimInstance Win32_OperatingSystem | Select-Object Caption, Version
}

Get-CimInstance verwendet das WS-Man-Protokoll und gilt als robuster im Umgang mit Netzwerkverbindungen. Der Befehl liefert die Ausgabe direkt aus der Remote-Session. Bei mehreren Arbeitsstationen oder Servern wird der Abfrageprozess erweitert:

$computers = @('pc1.joos.int', 'pc2.joos.int', 'pc3.joos.int')
$computers | ForEach-Object {
  Get-WmiObject -Class Win32_OperatingSystem -ComputerName $_ |
  Select-Object PSComputerName, Caption, Version
}

Die Schleife iteriert über alle Systeme und gibt die Betriebssystemdetails nacheinander aus.

Authentifizierung gegen eine Domäne erzwingen

Befehle gegen Remote-Systeme innerhalb der Domäne joos.int benötigen gültige Domänenanmeldedaten. Alternativ lassen sich explizit Anmeldeinformationen übergeben:

$cred = Get-Credential
Get-WmiObject -Class Win32_OperatingSystem -ComputerName pc1.joos.int -Credential $cred

Dies verhindert Authentifizierungsprobleme, etwa bei Einsatz außerhalb von Gruppenrichtlinien oder in isolierten Netzwerken. Auch Domänencontroller wie dc1.joos.int lassen sich auf diese Weise prüfen.

Active Directory als Informationsquelle nutzen

Für flächendeckende Abfragen kann Active Directory die Host-Namen liefern. Die Kombination aus Get-ADComputer und WMI führt zu automatisierten Reports:

Get-ADComputer -Filter * -SearchBase "OU=Clients,DC=joos,DC=int" |
ForEach-Object {
  $name = $_.Name
  Get-CimInstance -ClassName Win32_OperatingSystem -ComputerName $name |
  Select-Object @{Name='Computer';Expression={$name}}, Caption, Version
}

Der Befehl greift auf alle Computerobjekte in der OU Clients zu und kombiniert diese mit einer WMI-Abfrage pro Host. Die Ausführung aller Befehle setzt korrekt konfigurierte Firewall-Einstellungen voraus. Für WMI muss DCOM freigeschaltet sein, Get-CimInstance benötigt TCP-Port 5985 für HTTP beziehungsweise 5986 für HTTPS. PowerShell-Remoting verlangt zusätzlich, dass der Dienst WinRM aktiv läuft.

Kostenlose Open-Source-Tools zur Betriebssystemerkennung

Neben PowerShell bieten auch quelloffene Tools eine fundierte Möglichkeit, installierte Betriebssysteme über das Netzwerk zu ermitteln. Sie eignen sich für heterogene Umgebungen und liefern oft zusätzliche Details zur Systemarchitektur, Netzwerkstruktur oder Sicherheitslage.

Nmap

Das Netzwerk-Scan-Tool Nmap erkennt über TCP/IP-Fingerprinting das installierte Betriebssystem eines Remote-Hosts:

nmap -O pc1.joos.int

Die Option -O aktiviert die Betriebssystemerkennung. Nmap analysiert offene Ports, Antwortzeiten und TCP-Header-Details, um typische Merkmale von Windows-, Linux- oder Unix-Systemen zu identifizieren. Die Erkennung funktioniert auch ohne Anmeldung, bleibt jedoch auf Netzwerkebene oft ungenau.

Anzeige von Betriebssystemen und offenen Ports
Abbildung 2: Nmap zeigt nicht nur das Betriebssystem von Remote-Systemen an, sondern auch weitere Informationen wie offene Ports.

Open-AudIT

Open-AudIT erfasst automatisierte Hardware- und Softwaredaten über ein zentrales Webinterface. Es nutzt SNMP, SSH, WMI und PowerShell, um Betriebssysteminformationen aus Windows- und Linux-Systemen auszulesen. Die Community Edition ist kostenlos nutzbar und für den Betrieb auf einer zentralen Linux-Instanz ausgelegt. Ermittelte Betriebssysteme werden mit Version, Build und Patch-Stand dargestellt, ergänzt durch Netzwerkdaten, installierte Software und Benutzerinformatonen.

OCS Inventory

OCS Inventory scannt Netzwerke agentenbasiert oder über SSH/WMI und trägt alle erkannten Systeme in eine MySQL-Datenbank ein. Der Webclient liefert detaillierte Informationen zu installierten Windows-Versionen, Lizenzinformationen und Host-Daten. Das Tool eignet sich besonders für mittelgroße Netzwerke und kann mit GLPI zur IT-Dokumentation kombiniert werden.

Erfahren Sie mehr über Serverbetriebssysteme