Sie sind hier: Startseite
 Liste aller Codebeispiele

Softwareinventarisierung

Autor: Dr. Holger Schwichtenberg 

Beschreibung

Erstellung einer Datenbank mit der auf mehreren Systemen verfügbaren Software.

Eingabedatei: Das Skript liest aus einer Datei mit Namen Computernamen.txt die Namen bzw. IP-Adressen der abzufragenden Computer aus. Jede Zeile in der Eingabedatei ist ein Computername bzw. eine IP-Adresse.

Ausgabedatei: Eine CSV-Liste mit den Daten der installierten Software

Besonderheiten: Filterung nach Hersteller möglich

Programmcodebeispiele Windows PowerShell-Pipeline

PowerShell-Lösung als Einzeiler mit Pipelines:

Get-Content "computernamen.txt" | foreach { get-wmiobject win32product -computername $_ } | where { $.vendor -notlike "*Microsoft*" } | export-csv "Softwareinventar.csv" –notypeinformation

Programmcodebeispiele Windows PowerShell-Skript

PowerShell-Lösung als PowerShell-Skript:

#######################################

Das PowerShell-Script inventarisiert die installierte Software

eines Herstellers auf n Computersystemen, wobei die Namen der zu

untersuchenden Computer in einer Textdatei stehen

(C) Dr. Holger Schwichtenberg

#######################################


$Hersteller = "*Microsoft*"

Import der Computernamen

$Computernamen = Get-Content "computernamen.txt"

Auslesen der installierten MSI-Pakete auf allen Computern

$Software = foreach { get-wmiobject win32product -computername $ } | ^
where { $_.vendor -like $Hersteller } |

Export in CSV

$Software | export-csv "Softwareinventar.csv" -notypeinformation

Hinweise

Ausgaben werden in den Beispielen durch Hilfsroutinen wie out() und PrintOut() erzeugt. Diese sind hier nicht angegeben, da deren Implementierung von der jeweiligen Umgebung abhängt. Für Konsolenanwendungen können hier z.B. Console.WriteLine() einsetzen.

Querverweise

 Definition '.NET Framework Class Library'  .NET & Visual Studio Community Portal