Wer sich mit PowerShell beschäftigt, kommt um das Thema Objektorientierung nicht herum. Und in dem Kontext ist Know-How über Attribute und Methoden notwendig. Und genau darum gehts in diesem Beitrag.
Grundlegendes zu Attribute und Methoden
Sieht man sich Beispiel 4 der PowerShell Hilfe zum Befehl Get-Date an, dann sieht man im Anschluss des Befehls ein Attribut das sich .DayOfYear nennt.

Quelle: https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/get-date
Attribute – Was es ist
Attribute sind Eigenschaften oder anders gesagt, dass was das Objekt “ist”. Das Objekt kann grün oder blau sein, oder einfach eine Zahl, wie im Beispiel Get-Date die Zahl 366.
Methoden – Was es tut
Methoden sind Funktionen und definieren was das Objekt “tun” kann.
Der Befehl Get-Member
Attribute
Die Attribute eines Objekts können mit dem Befehl Get-Member abgerufen werden.
Get-Date | Get-Member -MemberType Property

Um jetzt das Attribut aufzurufen verwendet man eine .NET Methode.
(Get-Date -Year 1976 -Month 03 -Day 23).dayofweek

Also ich bin an einem Dienstag geboren ;-). Alternativ kann Select-Object verwendet werden.
Get-Date -Year 1976 -Month 03 -Day 23 | Select-Object dayofweek

Weitere Beispiele:
(Get-Childitem C:\Dateien\File1).lastaccesstime

(Get-Volume).Driveletter

(Get-NetAdapter -InterfaceIndex 8).LinkSpeed

Get-NetAdapter -InterfaceIndex 8 | Select-Object MacAddress

Get-Process chrome | Format-Table ProcessName, @{Label="TotalRunningTime"; Expression={(Get-Date) - $_.StartTime}}

Methoden
Die Methoden können mit dem Parameter -MemberType Method abgerufen werden.
Get-Date | Get-Member -MemberType Method

Beispiele:
(Get-Date).AddDays(30)

(Get-Service -Name Spooler).Stop()

Wer braucht schon xcopy, robocopy oder Copy-Item? 😉

Mit WMI wirds noch cooler. Mehr dazu in meinen Beiträgen:
WMI: Hardwarekonfiguration aller Domänen-Computer abrufen und speichern
Get-WmiObject: RAM nach Hersteller, Speed, Seriennummer und Kapazität anzeigen
Viel Spaß beim Herumprobieren!
Categories: PowerShell




1 reply »