Objekte ermitteln

Abgeschlossen

Wenn ein Cmdlet ausgeführt wird, wird ein Objekt zurückgegeben. Wenn Sie ein Cmdlet aufrufen, wurde die Antwort, die Ihnen angezeigt wird, formatiert und stellt nicht zwangsläufig alle für die Antwort verfügbaren Informationen dar. Um mehr darüber zu erfahren, was zurückgegeben wird und wie Sie ändern können, was zurückgegeben wird, können Sie den Befehl Get-Member verwenden.

Ermitteln von Objekten mithilfe von Get-Member

Das Cmdlet Get-Member wird über eine Weiterreichung mit dem von Ihnen ausgeführten Befehl verknüpft, damit Sie die Ausgabe filtern können. Ein typischer Befehlszeilenaufruf von Get-Member könnte wie im folgenden Beispiel aussehen:

Get-Process -Name 'name-of-process' | Get-Member

Dieser Befehl erzeugt zunächst ein Objektergebnis durch Aufrufen von Get-Process. Das Ergebnis wird mithilfe eines senkrechten Strichs (|) als Eingabe an Get-Member übergeben. Als Rückgabe erhalten Sie ein Tabellenergebnis, das die Spalten Name, MemberType und Definition enthält. Außerdem wird der Typ des zurückgegebenen Objekts zurückgegeben.

Tipp

Um eine Liste der auf Ihrem Computer ausgeführten Prozesse zu erhalten, führen Sie Get-Process aus.

Typbasiertes Suchen

Die erste Antwortzeile des Befehls Get-Member ist der Typ des zurückgegebenen Objekts. Wenn Sie den Typ kennen, können Sie nach anderen Cmdlets suchen, die denselben Typ verwenden. Machen Sie sich mit den verwandten Befehlen vertraut, um sich schnell ein solides Wissen in Ihrer Arbeitsdomäne anzueignen.

Angenommen, Sie haben den PowerShell-Befehl aufgerufen, der alle Member eines bestimmten Prozesses auflistet. Die ersten Zeilen des Ergebnisses sehen etwa wie die folgende Ausgabe aus:

  TypeName: System.Diagnostics.Process

Name                       MemberType     Definition
----                       ----------     ----------
Handles                    AliasProperty  Handles = Handlecount

Die erste Zeile gibt an, dass der Typ System.Diagnostics.Process lautet. Verwenden Sie diesen Typ als Suchargument, um nach anderen Cmdlets zu suchen, die diesen Typ verwenden. Im Folgenden finden Sie einen Beispielbefehl:

Get-Command -ParameterType Process

Das Ergebnis ist eine Liste von Cmdlets, die diesen Typ verwenden. Mit Get-Member können Sie nach und nach Ihre Kenntnisse über PowerShell erweitern und indem Sie lernen, die Ergebnisse interpretieren.

Tipp

PowerShell ist darauf ausgelegt, nach und nach erlernt zu werden. Eine gute Möglichkeit, sich mit verwandten Cmdlets vertraut zu machen, ist, anhand des zurückgegebenen Typs und typbasiert nach Cmdlets zu suchen.

Filtern eines Get-Member-Ergebnisses mithilfe von Select-Object

Wenn Sie Get-Member ausführen, ist das Ergebnis ausführlich. Dies bedeutet, dass viele Zeilen zurückgegeben werden. Das Objekt verfügt möglicherweise über Eigenschaften, so wie Ereignisse und Methoden auch. Damit die Antwort weniger ausführlich wird, können Sie nach bestimmten Spalten filtern und entscheiden, welche Spalten angezeigt werden sollen. Beachten Sie, dass die zurückgegebene Antwort bereits eine Teilmenge aller Antwortspalten darstellt.

Sehen Sie sich eine Antwort von Get-Member an, die mehrere Spalten enthält. Durch die Einführung des Cmdlets Select-Object können Sie auswählen, welche Spalten in der Antwort angezeigt werden. Der Befehl erwartet entweder eine durch Trennzeichen getrennte Liste von Spaltennamen oder ein Platzhalterzeichen, wie z. B. ein Sternchen (*), das für alle Spalten steht.

Wenn Sie den Befehl Select-Object im Zusammenhang mit Select-Object Name, MemberType verwenden, müssen Sie nur die gewünschten Spalten angeben. In diesem Fall sind dies die Spalten Name und MemberType. Die Befehlszeile sieht folgendermaßen aus:

Get-Process -Name 'name-of-process' | Get-Member | Select-Object Name, MemberType

Dieses Filtermuster gibt eine Ausgabe zurück, die weniger Spalten enthält. Im Folgenden sehen Sie ein Beispielergebnis:

Name                           MemberType
----                           ----------
Handles                     AliasProperty

Sie können die Antwort auch nach Zeilen filtern. Mithilfe des Flags -MemberType Method lässt sich beispielsweise angeben, dass Sie an den Zeilen interessiert sind, in denen der Membertyp eine Methode ist. Unter Umständen sollten Sie nur bestimmte Zeilen anzeigen, z. B. wenn Sie eine bestimmte Methode suchen und ausführen möchten.

Tipp

In der Regel ist es besser, dedizierte Cmdlets zu verwenden, als Methoden für ein Objekt auszuführen.