Festplattenplatz der Server im Auge behalten Thema ist als GELÖST markiert

kleine praktische Skripte die den Arbeitsalltag erleichtern.
Benutzeravatar
Ulrich Wiedholz
Beiträge: 282
Registriert: Samstag 10. Dezember 2011, 17:19
Kontaktdaten:

Festplattenplatz der Server im Auge behalten

Ungelesener Beitrag von Ulrich Wiedholz »

Damit einem nicht vor lauter Logs oder sonstigem Kram der Plattenplatz auf einem Server vollläuft, sollte man dieses ab und zu checken.
Mit diesem Skript geht das sauber, schnell und übersichtlich.

Code: Alles auswählen

$Server = Get-ADGroup -Filter "Name -like 'Alle-Server'" | Get-ADGroupMember | select Name
$Global:ServerInformationArr = New-Object system.Collections.ArrayList
Foreach ($Srv in $Server) {
if(!$Srv.Name.StartsWith("EX-")){
$Platten = Get-WmiObject Win32_LogicalDisk -ComputerName $Srv.Name
        Foreach ($Platte in $Platten){
        $ServerObj = New-Object PsObject
        $ServerObj | Add-Member -MemberType NoteProperty "Server" -Value $Srv.Name
        If($Platte.DriveType -eq 3){
        $ServerObj | Add-Member -MemberType NoteProperty "LW" -Value $Platte.Name
        $ServerObj | Add-Member -MemberType NoteProperty "Bezeichnung" -Value $Platte.VolumeName
        $ServerObj | Add-Member -MemberType NoteProperty "Größe in GB" -Value ([math]::Round($Platte.Size/1GB,2))
        $ServerObj | Add-Member -MemberType NoteProperty "Frei in GB" -Value ([math]::Round($Platte.freespace/1GB,2))
        $ServerObj | Add-Member -MemberType NoteProperty "Frei in %" -Value ([math]::Round($Platte.freespace/$Platte.size*100,2))
        $Global:ServerInformationArr.add($ServerObj) | out-null}
        }
        }
    }
$Global:ServerInformationArr | ogv # <- Ausgabe im Grid
#$Global:WsusInformationArr | Format-Table | Out-Printer # <- Ausgabe auf Standarddrucker
#$Global:WsusInformationArr | Export-Csv WsusUpdateliste.csv # <- Ausgabe als CSV-Datei - Kann mit Excel geöffnet und bearbeitet werden
Erklärung:
Zunächst holen wir uns vom AD eine Liste mit den Servern. Im Beispiel gibt es eine Gruppe "Alle-Server", daraus holen wir uns die Servernamen.
Wir erstellen ein Array für die spätere Ausgabe und arbeiten eine Schleife für jeden Server durch. (Außer Server die mit "EX-" beginnen, da es sich dabei um kürzlich deaktivierte Server handelt.)
Innerhalb der Server-Schleife werden die Platten per WMI-Object vom jeweiligen Server abgefragt und jede Platte in einer zweiten Schleife ausgewertet. (Aber nur Platten mit dem DriveType 3, da uns im Beispiel nur die Festverbauten Platten interessieren)
Das Array wird mit allen gewünschten Infos gefüttert (im Beispiel: Servername, Laufwerk-ID, Laufwerk-Bezeichnung, Plattengröße in GB und freier Speicher in GB und %.
Anschließend gibt es 3 Möglichkeiten die Auswertung anzuzeigen: Als DataGrid auf dem Monitor, als Ausdruck auf dem Standarddrucker oder als CSV-Datei (für spätere Bearbeitung im Excel praktisch).
In diesem Sinne...

Ulrich Wiedholz
UW-Operator.de
Shawnamazy
Beiträge: 9
Registriert: Samstag 11. November 2017, 02:33
Kontaktdaten:

Really enjoyed this article.Thanks Again. Much obliged. Barstow

Ungelesener Beitrag von Shawnamazy »

Really enjoyed this article.Thanks Again. Much obliged. Ratel
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast