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 - Gebe Softwarenamen ein, scanne das Netzwerk danach und werfe ergebnisse in eine csv

Softwarenamen eingeben und im Netzwerk nach Computern suchen, auf denen diese Software installiert ist, verwenden Sie das folgende Skript. Die Ergebnisse werden in eine CSV-Datei geschrieben.

# 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 - 11:34:33 @ Projekte, Powershell-Skripte | Kommentar hinzufügen