PowerShell Logon-Script Software Inventar
Hallo Zusammen
ich brauche eure Hilfe. Ich möchte mit PowerShell ein Logon-Script erstellen und so ein Software Inventar von allen PC / Notebooks im Betrieb machen. Das Script möchte ich per GPO laufen lassen. Ich brauche eine Liste in der ich folgendes Filtern kann: PC Name, Software und Version.
Hier habe ein Script gefunden:
wie kann ich dies anpassen das es mir mir die csv Datei in einem Share speichert mit zusätzlich den PC Namen?
//https://www.itnator.net/software-inventarisierung-mit-powershell///
Danke im Voraus
ich brauche eure Hilfe. Ich möchte mit PowerShell ein Logon-Script erstellen und so ein Software Inventar von allen PC / Notebooks im Betrieb machen. Das Script möchte ich per GPO laufen lassen. Ich brauche eine Liste in der ich folgendes Filtern kann: PC Name, Software und Version.
Hier habe ein Script gefunden:
wie kann ich dies anpassen das es mir mir die csv Datei in einem Share speichert mit zusätzlich den PC Namen?
//https://www.itnator.net/software-inventarisierung-mit-powershell///
# Alle Sub-Keys auslesen und Fehler ignorieren
Get-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
'HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*',
'HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*',
'HKCU:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*' -ErrorAction Ignore |
# Nur Einträge mit einem "DisplayName" verarbeiten
Where-Object DisplayName |
# Nur "interessante" Eigenschaften ausgeben
Select-Object -Property DisplayName, DisplayVersion, UninstallString, InstallDate |
# Nach Namen sortieren
Sort-Object -Property DisplayName
Danke im Voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6173124152
Url: https://administrator.de/forum/powershell-logon-script-software-inventar-6173124152.html
Ausgedruckt am: 22.12.2024 um 20:12 Uhr
5 Kommentare
Neuester Kommentar
........... | Select-Object -Property DisplayName,DisplayVersion,UninstallString,InstallDate | sort DisplayName | export-csv "\\server\share\$env:COMPUTERNAME.csv" -Delimiter ";" -NoTypeInformation -Encoding UTF8
Moin,
also vielleicht solltest du das Skript erstmal so schreiben/posten, dass es funktionier (inkl. Code-Tags). Ansonsten wird das nur ein wilde Raterei.
Wenn dein Skript läuft, dann brauchst du nur noch export-csv hinten an-pipen und den Rechnernamen mittels $env:COMPUTERNAME in den Dateinamen stecken.
Fertig.
Gruß
Doskias
Nachtrag: Also genau so wie Hagelschaden es schreibt, nur ohne Lerneffekt
also vielleicht solltest du das Skript erstmal so schreiben/posten, dass es funktionier (inkl. Code-Tags). Ansonsten wird das nur ein wilde Raterei.
Wenn dein Skript läuft, dann brauchst du nur noch export-csv hinten an-pipen und den Rechnernamen mittels $env:COMPUTERNAME in den Dateinamen stecken.
Fertig.
Gruß
Doskias
Nachtrag: Also genau so wie Hagelschaden es schreibt, nur ohne Lerneffekt
Zitat von @SlainteMhath:
Dito. Wegen Race-Condition, gibt das Chaos.Ich möchte jedoch nur eine Datei erstellen lassen
Das würde ich nicht machen, da sich die Clients dann ggfs gegenseitig die Datei sperren oder wenns blöd läuft überschreiben.Nur als Referenz hier noch angefügt wie man sowas machen kann
........... | Select-Object -Property @{n='Computername';e={$env:Computername}},DisplayName,DisplayVersion,UninstallString,InstallDate | sort Computername,DisplayName | export-csv "\\server\share\apps.csv" -Delimiter ";" -NoTypeInformation -Encoding UTF8 -Append