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-14

Powershell Script zum erfassen der Netzwerkgeräte

# Parametereingabe
param (
    [string]$LogFile = “hardware_inventory.csv”
)

# Funktion zum Sammeln von Hardwareinformationen
function Get-HardwareInfo {
    param (
        [string]$ComputerName
    )

    try {
        $system = Get-WmiObject -Class Win32_ComputerSystem -ComputerName $ComputerName
        $bios = Get-WmiObject -Class Win32_BIOS -ComputerName $ComputerName
        $network = Get-WmiObject -Class Win32_NetworkAdapterConfiguration -ComputerName $ComputerName | Where-Object { $_.IPAddress -ne $null -and $_.MACAddress -ne $null }

        return [pscustomobject]@{
            Hersteller    = $system.Manufacturer
            Modell        = $system.Model
            Seriennummer  = $bios.SerialNumber
            MACAdresse    = $network.MACAddress
            DNSName      = $network.DNSHostName
            IPAdresse    = $network.IPAddress -join ‘, ‘
            ComputerName  = $ComputerName
        }
    } catch {
        Write-Warning “Fehler beim Abrufen von Informationen für $ComputerName”
    }
}

# Netzwerk-Scan
$networkDevices = Get-WmiObject -Query “SELECT * FROM Win32_PingStatus WHERE StatusCode=0” | Select-Object -ExpandProperty Address

# Sammeln von Hardwareinformationen und Speichern in CSV-Datei
$hardwareInfo = foreach ($device in $networkDevices) {
    Get-HardwareInfo -ComputerName $device
}

$hardwareInfo | Export-Csv -Path $LogFile -NoTypeInformation -Force -Encoding UTF8

Write-Host “Hardwareinformationen wurden in $LogFile gespeichert.”

Admin - 14:15:30 @ Projekte, Powershell-Skripte | Kommentar hinzufügen