Blog

Hier poste ich dinge zu Themen die mich beschäftigten.

Neueste 5 Einträge

  • PHP: sende Mail
  • Powershell: gruppename like finden und aktivierte user zaehlen
  • HW und SW auslesen und exportieren
  • Angeschlossene Monitore auslesen
  • bash: deepL Pro Paket MAC OS

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