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-06-12

Powershell Script Scanne computer nach Liste und erfassen die sw

# Liste der Computernamen
$computers = Get-Content -Path “C:pathtoyourcomputers.txt”

foreach ($computer in $computers) {
    # Prüfen, ob der Computer erreichbar ist
    if (Test-Connection -ComputerName $computer -Count 1 -Quiet) {
        # Computerinformationen sammeln
        $compInfo = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $computer | Select-Object Manufacturer, Model, Name, UserName

        # Installierte Software sammeln
        $software = Invoke-Command -ComputerName $computer -ScriptBlock {
            Get-ItemProperty HKLM:SoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstall*,
                            HKLM:SoftwareMicrosoftWindowsCurrentVersionUninstall* |
            Select-Object DisplayName, DisplayVersion, Publisher, InstallDate, UninstallString |
            Where-Object { $_.DisplayName -ne $null }
        }

        # Informationen in CSV-Dateien schreiben
        $compInfo | Export-Csv -Path “C:pathtologs$computer-hardware.csv” -NoTypeInformation
        $software | Export-Csv -Path “C:pathtologs$computer-software.csv” -NoTypeInformation
    } else {
        Write-Host “Cannot reach $computer”
    }
}
“`

Dieses Skript sammelt nun Informationen sowohl aus `HKLM:SoftwareWow6432NodeMicrosoftWindowsCurrentVersionUninstall` (für 64-Bit-Software) als auch aus `HKLM:SoftwareMicrosoftWindowsCurrentVersionUninstall` (für 32-Bit-Software). Es filtert auch alle Einträge heraus, die keinen DisplayName haben, da diese in der Regel keine gültigen Softwareeinträge sind.

Admin - 20:52:34 @ Projekte, Powershell-Skripte | Kommentar hinzufügen