Da Objekte eine so zentrale Rolle in Windows PowerShell spielen, gibt es eine Reihe systemeigener Befehle für die Arbeit mit beliebigen Objekttypen. Der wichtigste Befehl ist Get-Member .

Das einfachste Verfahren zum Analysieren der von einem Befehl zurückgegebenen Objekte besteht darin, die Ausgabe dieses Befehls über eine Pipeline an das Cmdlet Get-Member zu übergeben. Das Cmdlet Get-Member zeigt den formalen Namen des Objekttyps sowie eine vollständige Liste der zugehörigen Elemente an. Die Anzahl der zurückgegebenen Elemente ist teilweise sehr groß. Ein process-Objekt kann z. B. mehr als 100 Elemente enthalten.

Wenn Sie alle Elemente eines Process-Objekts anzeigen möchten und die Anzeige seitenweise erfolgen soll, geben Sie Folgendes ein:

PS> Get-Process | Get-Member | Out-Host -Paging

Die Ausgabe dieses Befehls sollte in etwa wie folgt aussehen:

   TypeName: System.Diagnostics.Process

Name                           MemberType     Definition
----                           ----------     ----------
Handles                        AliasProperty  Handles = Handlecount
Name                           AliasProperty  Name = ProcessName
NPM                            AliasProperty  NPM = NonpagedSystemMemorySize
PM                             AliasProperty  PM = PagedMemorySize
VM                             AliasProperty  VM = VirtualMemorySize
WS                             AliasProperty  WS = WorkingSet
add_Disposed                   Method         System.Void add_Disposed(Event...
...

Sie können diese lange Liste von Informationen einfacher verwendbar machen, indem Sie die Elemente filtern. Mit dem Befehl Get-Member können Sie nur die Elemente auflisten, bei denen es sich um Eigenschaften handelt. Es gibt mehrere Arten von Eigenschaften. Das Cmdlet zeigt Eigenschaften aller Typen an, wenn Sie den MemberType-Parameter von Get-Member auf Properties festlegen. Die resultierende Liste ist dann zwar immer noch sehr lang, aber schon etwas übersichtlicher:

PS> Get-Process | Get-Member -MemberType Properties


   TypeName: System.Diagnostics.Process

Name                       MemberType     Definition
----                       ----------     ----------
Handles                    AliasProperty  Handles = Handlecount
Name                       AliasProperty  Name = ProcessName
...
ExitCode                   Property       System.Int32 ExitCode {get;}
...
Handle                     Property       System.IntPtr Handle {get;}
...
CPU                        ScriptProperty System.Object CPU {get=$this.Total...
...
Path                       ScriptProperty System.Object Path {get=$this.Main...
...
Hinweis:

Die zulässigen Werte für MemberType sind AliasProperty, CodeProperty, Property, NoteProperty, ScriptProperty, Properties, PropertySet, Method, CodeMethod, ScriptMethod, Methods, ParameterizedProperty, MemberSet und All.

Ein Prozess kann mehr als 60 Eigenschaften enthalten. Die Ursache dafür, dass in Windows PowerShell häufig nur ein Teil der Eigenschaften für häufig verwendete Objekte angezeigt wird, ist die ansonsten nicht überschaubare Menge an Informationen.

Hinweis:

Windows PowerShell bestimmt mithilfe von Informationen in XML-Dateien, die die Dateinamenendung ".format.ps1xml" aufweisen, wie ein Objekttyp angezeigt wird. Die Formatierungsdaten für process-Objekte, bei denen es sich um .NET System.Diagnostics.Process-Objekte handelt, werden in der Datei "PowerShellCore.format.ps1xml" gespeichert.

Wenn Sie andere Eigenschaften als die von Windows PowerShell standardmäßig angezeigten Eigenschaften anzeigen möchten, müssen Sie die Ausgabedaten selbst formatieren. Sie können dies mit Format-Cmdlets ausführen.




Inhaltsverzeichnis