Blog
Hier poste ich dinge zu Themen die mich beschäftigten.
Suchen
2023-04-15
Powershell - suche nach Computern im Netzwerk mit Adobe Reader und schreibe die ergebnisse in ein logfile
Um ein PowerShell-Skript zu erstellen, das im Netzwerk nach Computern sucht, auf denen eine bestimmte Software (in diesem Beispiel Adobe Acrobat Reader) installiert ist, und die Ergebnisse in eine CSV-Datei schreibt, können Sie das folgende Skript verwenden. Beachten Sie, dass für dieses Skript administrative Berechtigungen erforderlich sind, um Remote-WMI-Abfragen auf den Zielcomputern auszuführen.
# Variablen
$SoftwareName = “Adobe Acrobat Reader”
$OutputFile = “C:InstalledSoftwareReport.csv”
# CSV-Header erstellen
$CSVHeader = “ComputerName,LoggedInUser,Manufacturer,Model,LastLogonDate”
Add-Content -Path $OutputFile -Value $CSVHeader
# Alle Computer im Active Directory abrufen
$Computers = Get-ADComputer -Filter * -Properties *
foreach ($Computer in $Computers) {
$ComputerName = $Computer.Name
try {
# WMI-Abfrage für installierte Software
$InstalledSoftware = Get-WmiObject -Class Win32_Product -ComputerName $ComputerName | Where-Object { $_.Name -like “*$SoftwareName*” }
if ($InstalledSoftware) {
# WMI-Abfrage für Computerinformationen und angemeldeten Benutzer
$ComputerSystem = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $ComputerName
$Manufacturer = $ComputerSystem.Manufacturer
$Model = $ComputerSystem.Model
$LoggedInUser = $ComputerSystem.UserName
# Letztes Anmeldedatum abrufen
$LastLogonDate = (Get-ADComputer $Computer -Properties LastLogonDate).LastLogonDate
# Ergebnisse in CSV-Datei schreiben
$CSVData = “$ComputerName,$LoggedInUser,$Manufacturer,$Model,$LastLogonDate”
Add-Content -Path $OutputFile -Value $CSVData
}
} catch {
Write-Host “Fehler bei der Verarbeitung von $ComputerName: $($_.Exception.Message)” -ForegroundColor Red
}
}
Dieses Skript durchsucht alle Computer im Active Directory, prüft, ob die angegebene Software installiert ist, und schreibt die Ergebnisse in eine CSV-Datei. Die CSV-Datei enthält die folgenden Informationen: Computername, angemeldeter Benutzer, Hersteller, Modell und letztes Anmeldedatum.
Bitte beachten Sie, dass die Verwendung von Win32_Product in WMI-Abfragen möglicherweise langsam ist und in einigen Fällen zu unerwünschten Nebenwirkungen führen kann, wie z. B. dem erneuten Konfigurieren von Software. Eine alternative Methode besteht darin, die Registry der Remote-Computer abzufragen, um die installierte Software zu ermitteln.
Admin - 10:56:16 @ Projekte, Powershell-Skripte | Kommentar hinzufügen