Blog
Hier poste ich dinge zu Themen die mich beschäftigten.
Suchen
2023-04-18
Powershell - Gebe Softwarenamen ein und suche im Netzwerk auf den client Computern danach
Das Skript fragt den Benutzer nach dem Softwarenamen und sucht dann im Netzwerk nach Computern, die diese Software installiert haben. Es schreibt die Ergebnisse in eine CSV-Datei mit Computername, Softwarename, Installationsdatum und angemeldetem Benutzer.
# Eingabeaufforderung für Softwarenamen
$SoftwareName = Read-Host -Prompt “Geben Sie den Softwarenamen ein”
# Liste der Computernamen im Netzwerk abrufen
$Computers = Get-ADComputer -Filter * | Select-Object -ExpandProperty Name
# Ergebnisse in einer CSV-Datei speichern
$OutputFile = “InstalledSoftwareReport.csv”
# CSV-Header erstellen
Add-Content -Path $OutputFile -Value “ComputerName,SoftwareName,InstallDate,LoggedOnUser”
# Suche nach installierter Software auf Computern
foreach ($ComputerName in $Computers) {
try {
$Software = Get-WmiObject -Class Win32_Product -ComputerName $ComputerName | Where-Object { $_.Name -like “*$SoftwareName*” }
if ($Software) {
$LoggedOnUser = (Get-WmiObject -Class Win32_ComputerSystem -ComputerName $ComputerName).UserName
foreach ($App in $Software) {
$InstallDate = [datetime]::ParseExact($App.InstallDate, “yyyyMMdd”, $null).ToString(”yyyy-MM-dd”)
$CsvLine = “$ComputerName,$($App.Name),$InstallDate,$LoggedOnUser”
Add-Content -Path $OutputFile -Value $CsvLine
}
}
} catch {
Write-Host “Fehler beim Abrufen von Softwareinformationen von $ComputerName” -ForegroundColor Red
}
}
Write-Host “Bericht wurde erstellt: $OutputFile” -ForegroundColor Green
Admin - 14:24:40 @ Projekte, Powershell-Skripte | Kommentar hinzufügen
Kommentar hinzufügen
Die Felder Name und Kommentar sind Pflichtfelder.