Hallo Alle !
Ein weiterer Tipp von Powershell.com, den ich hier übersetzt wiedergeben möchte.
Die Frage heute ist: Wie kann ich beschreibbare Eigenschaften eines Objektes finden ?
Nehmen wir als Beispiel eine Datei die wir in eine Variable $file speichern und schauen uns dann die Eigenschaften an
[codesyntax lang=“powershell“ lines_start=“1″ container=“pre_table“ blockstate=“expanded“]
1 2 |
$file = Get-Item $env:windir\win.ini $file|Get-Member |
[/codesyntax]
Die get/set Werte in den geschwungenen Klammern zeigen uns, was man beschreiben und was man lesen kann.
Wir wollen jetzt nur Methoden wissen, also verwenden wir eine Reihe von Parametern um zu filtern.
[codesyntax lang=“powershell“ container=“pre_table“ blockstate=“expanded“]
1 |
$file|Get-Member –Membertype *method –force –Name '*set_*' |
[/codesyntax]
schreibt die Methoden heraus, die ein „Set“ erlauben. Damit die Anzeige schöner wird wollen wir nur den Namen sehen und schneiden uns das set_ am Anfang weg. Force benötigen wir deswegen, weil ansonsten nur die Standardmethoden angezeigt werden, die in diesem Fall kein „Set“ erlauben.
[codesyntax lang=“powershell“]
1 |
$file|Get-Member –Membertype *method –force –Name '*set_*'|foreach-object {$_.Name.Substring(4)} |
[/codesyntax]
Und das ist das Ergebnis lautet:
Attributes
CreationTime
CreationTimeUtc
IsReadOnly
LastAccessTime
LastAccessTimeUtc
LastWriteTime
LastWriteTimeUtc
Jetzt ändern wir den „LastAccessTime“ Wert der Datei (Geht nur mit einer Admin-Powershell Session !) un lassen uns das Ergebnis anzeigen:
[codesyntax lang=“powershell“]
1 2 3 |
$date = Get-Date $file.set_LastAccesstime($date) $file|select Name,Lastaccesstime |
[/codesyntax]
So, das wars für heute, viel Spass beim Experimentieren !
LG/Roman