Laufwerksbelegung über PowerShell auslesen
5. August 2016
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)
———————–
…
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)
———————–
…