Eigene Objekte mit PowerSHELL

Posted on: 28. März 2018

In diesem Video schauen wir uns an wie man objektorientiert mit PowerSHELL sein eigenes Objekt erstellt und dieses mit Inhalt füllt. Wir arbeiten anhand der logischen Partitionen auf unserem Computer und generieren uns die benötigten Informationen. Nebenbei konvertieren wir eine Double Zahl in ein String Objekt, Runden mathematisch Zahlen und berechnen den freien Speicher in Prozent %.

Hier der Code aus dem Youtube-Video. Die Vorgehensweise und Bemerkungen findest du direkt als Kommentare (#Grün) im Code. So wird er dir ebenfalls in der PowerSHELL ISE angezeigt werden.

——————————————–

# Ein Array für die Aufnahme der PowerSHELL-Objekte erstellen,            
            
# in diesem Array werden ein oder mehrere Objekte gespeichert.            
            
$meinefestplatten = @()            
            
# Auslesen aller Logischen Disks auf diesem Computer            
            
Get-WmiObject Win32_LogicalDisk | ForEach-Object {            
            
            
# Mit ForEach-Object wird diese Schleife pro Objekt das vom Befehl Get-WmiObjekt kommt durchlaufen            
            
            
# Wir erstellen ein temporäres Objekt zur Aufnahme der einzelnen Informationen            
            
$tempobjekt = New-Object -TypeName psobject            
            
            
# Hier erstellen wir pro Information ein Property, also eine Eigenschaft mit Namen und Wert            
            
# Der Laufwerksbuchstabe ist direkt als DeviceID angegeben, deshalb nehmen wir diese Eigenschaft aus der Schleifenvariabel $_            
            
$tempobjekt | Add-Member -NotePropertyName “Laufwerksbuchstaben” -NotePropertyValue $_.DeviceID            
            
            
# Der VolumenName ist auch direkt abrufbar und wir lagern ihn als Eigenschaft in unser Objekt            
            
$tempobjekt | Add-Member -NotePropertyName “Namen” -NotePropertyValue $_.VolumeName            
            
# Grösse nur bei Festplatten, nicht aber bei optischen Laufwerken abrufen            
    if ($_.DeviceID -contains 4,3)            
    {            
            
    # Da die Grösse in Bite angegeben wird, teilen wir das Ganze durch 1GB (Gigabyte) und Runden auf 0 Stellen            
            
    $tempobjekt | Add-Member -NotePropertyName “Grösse” -NotePropertyValue ([math]::Round(($_.Size / 1GB),0).toString() + ” GB”)            
            
            
    # Damit wir ein “GB” hinter die Zahl bekommen, müssen wir die Zahl zuerst in Text umwandeln mit .toString()            
            
    $tempobjekt | Add-Member -NotePropertyName “FreierPlatz” -NotePropertyValue ([math]::Round(($_.FreeSpace / 1GB),0).toString() + ” GB”)            
            
            
    # Jetzt teilen wir noch den freien Platz durch den Gesamtplatz und bekommen wieviele % noch frei sind            
            
    $tempobjekt | Add-Member -NotePropertyName “Frei in %” -NotePropertyValue ([math]::round(($_.Freespace / $_.Size)*100,0).toString() + “%”)            
    }            
            
# Zum Schluss hängen wir unser Objekt an das Array aller Festplatten an, Fertig 🙂            
            
$meinefestplatten += $tempobjekt            
            
}            
            
$meinefestplatten | ft # Ausgabe aller Festplatten als Tabelle
——————————————–
Solltest du irgendwelche Fragen haben, dann kannst du diese gerne entweder hier im Blog oder direkt unter dem YouTube Video stellen. Ich gebe alles, deine Fragen zeitnahe zu beantworten oder ein entsprechendes Video darüber zu machen.
Gerade die Grundlagen-Videos werde ich nicht mit viel Text ausschmücken. Bei mir ist jeweils jede Code-Zeile direkt im Code Kommentiert (#Grün). Du kannst den Code direkt mit in dein Script kopieren und hast so eine gute Orientierungshilfe, sobald du die Scripts auf deine Bedürfnisse anpasst.

Ich erstelle und veröffentliche sämtliche Videos kostenlos und blende auch keine Werbung ein, dies will ich auch so beibehalten. Da das vermittelte Wissen aber in teuren Kursen erlangt werden kann, ist eine kleine Spende hin und wieder sicher keine schlechte Gegenleistung.