Microsoft,  PowerShell Skripte

Laufwerksbelegung über PowerShell auslesen

Das Skript durchläuft die Organisationseinheit in einer AD Umgebung mit dem Namen  Server. Ermittelt alle Laufwerke eines Systems und prüft die Speicherbelegung auf größer 25%. Die Daten werden farblich ausgegeben.

# Ldap Server auslesen
$servers = Get-ADComputer -LDAPFilter "(operatingsystem=*Server*)"# Server durchlaufen
foreach ($server in $servers){
    Write-Host "$server.name" -ForegroundColor Green
 
    # Erreichbarkeit des Systems prüfen
    if ((Test-Connection -ComputerName $server.Name -Quiet)){
        # Laufwerke auslesen
        $laufwerke = Get-Wmiobject Win32_logicaldisk -computer $server.Name | Select-Object deviceid,size,freespace,DriveType
        foreach ($laufwerk in $laufwerke)
        {
        # lokale Laufwerke
            if($laufwerk.DriveType -eq 3){
                # Freie Speicher in %
                $free = [Math]::Floor([decimal]($laufwerk.Freespace) / ($laufwerk.Size / 100))
                # Freie Speicher in GB
                $freeSpace = [Math]::Floor([decimal]($laufwerk.freespace/1GB))
                # Kennzeichnung bei Speicher unter 25 %
                if($free -le 25 ){
                    Write-Host $laufwerk.DeviceID " $free% frei ($FreeSpace GB)" -ForegroundColor Red
                }
                else{
                    Write-Host $laufwerk.DeviceID " $free% frei ($FreeSpace GB)" -ForegroundColor Yellow
                }
            }
 
        }
    }
    else{
        Write-Host "Keine Verbindung" -ForegroundColor Red
    }
Write-Host "---------------------"
}
Ausgabebeispiel:
CN=DC01,OU=Domain Controllers,DC=…,DC=…,DC=de.name
C:  72% frei (43 GB)
———————–
CN=CA01,OU=Server,DC=…,DC=…,DC=de.name
C:  71% frei (42 GB)
———————–
CN=SC03,OU=Server,DC=…,DC=…,DC=de.name
Keine Verbindung
———————–
CN=DB03,OU=Server,DC=…,DC=…,DC=de.name
C:  39% frei (23 GB)
F:  84% frei (84 GB)
G:  87% frei (69 GB)
———————–
CN=BUILD02,OU=RDP,OU=Server,DC=…,DC=…,DC=de.name
C:  17% frei (11 GB)
D:  33% frei (26 GB)
———————–

Eine Antwort schreiben