Get-ComputerInfo: Systeminformationen auslesen mit PowerShell

    Welche Funktionen soll eine Lösung für das Management mobiler Geräte (EMM) beherrschen? Kostenlose Check-Liste von baramundi herunterladen »

    (Anzeige)

    Systeminformationen mit PowerShell auslesenPowerShell 5.1 brachte in Windows 10 und Server 2016 ein neues Cmdlet, mit dem sich eine Viel­zahl von System­eigen­schaften aus­lesen lässt. Es heißt Get-Computer­Info und liefert sowohl Daten zur Hard­ware-Aus­stattung als auch zum Betriebs­system.

    Bis dato führte der Königsweg zu den System­informationen in PowerShell über WMI und die entsprechenden Cmdlets. Das war in der Vergangenheit das DCOM-basierte Get-WMIObject und neuerdings Get-CimInstance, das über WinRM kommuniziert.

    Commodity-Cmdlet

    Der wesentliche Vorteil von Get-ComputerInfo besteht darin, dass es deutlich einfacher zu verwenden ist. Es erfordert keine Angaben zu WMI-Klassen, Filter oder Abfragen. Es spuckt ohne Parameter einfach eine lange Liste mit den meisten relevanten System­eigenschaften aus.

    Nachdem dieses Cmdlet keine Infor­mationen liefert, die man nicht auch über WMI bekommen könnte, ist es in erster Linie eine Bequem­lichkeits­funktion. Ein gewisser Aufwand entsteht aber dann bei der Auswertung des Outputs, der ohne Filter zu unüber­sichtlich ist.

    Eigenschaften des Betriebssystems

    Diesem Zweck dient der Parameter Property, der auch Wildcards akzeptiert:

    Get-ComputerInfo -Property OS*

    Dieser Aufruf liefert nur Angaben zum Betriebssystem, die aber immer noch mehr als ein Konsolen­fenster füllen und dennoch nicht vollständig sind. Zusätzlich gibt es nämlich noch Eigen­schaften, deren Name mit Windows beginnt.

    Get-ComputerInfo liefert eine Vielzahl von Informationen zum Betriebssystem.

    Entsprechend müsste man hier

    Get-ComputerInfo -Property OS*,Windows*

    eingeben.

    Infos zu Hyper-V und AD-Domäne

    Übersichtlicher ist der Output für Hyper-V, wobei die Eigenschaft HyperVisorPresent auch bei einer Abfrage in einer VM erscheint und somit nicht bedeutet, dass dieses Feature in der jeweiligen OS-Instanz aktiviert sein muss.

    Das Cmdlet kennt auch Daten zur Domäne, die man erwartungs­gemäß mit

    Get-ComputerInfo -Property *Domain*

    abrufen kann.

    Einschränkungen bei Remote-Abfrage

    Einschränkungen im Vergleich zu den WMI-Cmdlets muss man auch beim Auslesen von Remote-Rechnern in Kauf nehmen. Get-ComputerInfo akzeptiert nämlich nicht den Parameter ComputerName, so dass man explizit eine Remote-Session aufbauen muss:

    Invoke-Command -ComputerName win10pro-vm1 -ScriptBlock {Get-ComputerInfo}

    Während Get-ComputerInfo an und für sich keine erhöhten Privilegien erfordert, muss man den Remote-Aufruf mit admini­strativen Rechten starten, es sei denn, man hat WinRM für Standardbenutzer zugelassen.

    Verfügbarkeit

    Das Cmdlet ist Teil von PowerShell 5.1, die zum Lieferumfang von Windows 10 ab 1607 gehört. Wer Get-ComputerInfo unter älteren Versionen des Betriebs­systems nutzen möchte, muss dafür das Windows Management Framework (WMF) 5.1 installieren.

    1 Kommentar

    Bild von Bernhard
    Bernhard sagt:
    31. Mai 2017 - 16:50

    Bei mir wurde neben vielen Leerwerten nur Werte mit Windows* angezeigt und das Ganze dauerte über 30 Sekunden. Mein Windows 10 Pro 64 Bit ist aktuell. (10.0.15063 / 1703)

    Bei der Fehlersuche kam ich auf eine englische Seite, in der als Fehlerbehebung das "Aktivieren von WinRM" genannt war.
    Das habe ich gemacht und jetzt funktioniert alles wie von Zauberhand in 2-3 Sekunden. :)

    Zum Aktivieren von WinRM einfach als Administrator eine CMD Shell starten und winrm quickconfig ausführen.