Soft- und Hardware-Inventarisierung per Powershell leichtgemacht


Von Zeit zu Zeit muss man wissen, was alles in einem System verbaut ist, welche Software installiert ist, welche Frameworks verfügbar sind, welche DLLs da sind, welche Fehler aufgetreten sind, wie viel Speicherplatz frei ist, wann die Oma Geburtstag hat usw. usf.

Nichts leichter als das, man halte Zettel und Bleistift bereit und gibt in einer Powershelleingabeaufforderung – am besten mit Adminrechten – folgendes ein:

Get-CimAssociatedInstance (Get-CimInstance CIM_ComputerSystem)

Nun nehme man Zettel und Bleistift zur Hand und schreibe mit.

Mittels Alias wird es noch etwas knackiger:

Get-CimAssociatedInstance (gcim CIM_ComputerSystem)

Damit es funktioniert braucht man nur Windows 8, Server 2012 oder höher. Um es auf Windows 7 oder Server 2008 R2 ausführen zu können, benötigt man das Microsoft Management Framework 3.0, welches Powershell 3.0 mitbringt und damit auch die CIM-Cmdlets.

So wer jetzt immer noch die Infos auf seinem Zettel mitschreibt, dem sei gesagt, das Ding läuft EWIG, auch auf guter und aktueller Hardware!

Netter Nebeneffekt: Da durch den Aufruf so ziemlich alles im System angelangt wird, was irgendwie installiert oder verbaut ist, eignet sich der Aufruf auch ideal um Rechner auf Zuverlässigkeit zu testen. Forensiker freuen sich über die Vielzahl von Informationen. Mal sehen, vielleicht taugt es sogar für DOS-Attacken…

Übrigens, wer die ganzen Infos noch langfristig speichern möchte, der fügt noch ein | Export-CliXml Inventar.xml hinzu, also so:

Get-CimAssociatedInstance (gcim CIM_ComputerSystem) | Export-CliXML $Env:USERPROFILE\Inventar.XML

Somit kann man die ganzen Infos später wieder mittels Import-CliXML einlesen und zum Vergleich heranziehen. Somit hat man eine Baseline mittels der Veränderungen immer nachvollzogen werden können.

Nutzt man Powershell 5.0 kann man die XML-Datei mittels Compress-Archive noch etwas kleiner bekommen. Leider hat MS an den Möglichkeiten bei Compress-Archive etwas gezaudert, so dass nicht ein Stream von Export-CliXML übernommen werden kann, sondern es muss die XML-Datei von der Platte gelesen und dann komprimiert werden:

Compress-Archive $Env:USERPROFILE\Inventar.XML $Env:USERPROFILE\Inventar.ZIP

Hier noch eine kleine Einführung in CIM: http://blogs.msdn.com/b/powershell/archive/2012/08/24/introduction-to-cim-cmdlets.aspx.

2 Antworten to “Soft- und Hardware-Inventarisierung per Powershell leichtgemacht”

  1. Quirel Says:

    Für die Unbedarften zum direkt aufrufen von der Cortana-Suchzeile:
    Powershell –Command Get-CimAssociatedInstance (Get-CimInstance CIM_ComputerSystem)

  2. Quirel Says:

    Obercool, wenn man die neuen Export-BinaryMiLog Funktion verwendet, bekommt man richtig kleine Dateien und alles geht schneller!

    Get-CimAssociatedInstance (Get-CimInstance CIM_ComputerSystem) | Export-BinaryMiLog -Path C:\temp\
    Computer.SystemLog

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s


%d Bloggern gefällt das: