Informationen zu systeminternen Mitgliedern

Kurze Beschreibung

Enthält Informationen zu den systeminternen Elementen von PowerShell, die für alle PowerShell-Objekte verfügbar sind.

Detaillierte Beschreibung

Wenn Objekte erstellt werden, fügt PowerShell einige "ausgeblendete" Eigenschaften und Methoden zu jedem Objekt hinzu. Diese Eigenschaften und Methoden werden als systemeigene Elemente bezeichnet. Diese systeminternen Elemente werden normalerweise aus der Ansicht ausgeblendet. Einige dieser Member können mithilfe des Get-Member -Force Befehls angezeigt werden.

Objektansichten

Die systeminternen Elemente enthalten eine Reihe von MemberSet-Eigenschaften , die eine Ansicht des Objekts darstellen. Sie können die MemberSet-Eigenschaften mithilfe des Get-Member -Force Befehls auf einem beliebigen PowerShell-Objekt finden. Jedes PowerShell-Objekt enthält die folgenden MemberSet-Eigenschaften .

psbase

Diese psbase enthält die Elemente des Basisobjekts ohne Erweiterung oder Anpassung.

psadapted

Die psadapted-Ansicht zeigt das Basisobjekt plus die angepassten Elemente, falls vorhanden. Angepasste Elemente werden vom Erweiterten Typsystem (ETS) hinzugefügt.

psextended

Die psextended-Ansicht zeigt nur die Elemente an, die von den Types.ps1xml-Dateien und dem Add-Member-Cmdlet hinzugefügt wurden. Jedes Objekt kann zur Laufzeit mithilfe des Add-Member Cmdlets erweitert werden.

psobject

Der Basistyp aller PowerShell-Objekte ist [PSObject]. Wenn jedoch ein Objekt erstellt wird, umschließt PowerShell auch das Objekt mit einer [PSObject] Instanz. Das psobject-Element ermöglicht den Zugriff auf die [PSObject] Wrapperinstanz. Der Wrapper enthält Methoden, Eigenschaften und andere Informationen zum Objekt. Die Verwendung des psobject-Members ist mit der Verwendung von Get-Member vergleichbar, aber es gibt einige Unterschiede, da sie nur auf die Wrapperinstanz zugreifen.

Typinformationen

pstypenames

PSTypeNames ist ein CodeProperty-Element , das die Objekttyphierarchie in Reihenfolge der Vererbung aufgibt. Zum Beispiel:

$file = Get-Item C:\temp\test.txt
$file.pstypenames
System.IO.FileInfo
System.IO.FileSystemInfo
System.MarshalByRefObject
System.Object

Wie oben gezeigt, beginnt es mit dem spezifischsten Objekttyp, System.IO.FileInfound wird weiterhin auf den generischen Typ System.Objectzurückgeführt.

Methoden

PowerShell fügt zwei ausgeblendete Methoden zu allen PowerShell-Objekten hinzu. Diese Methoden werden nicht mithilfe des Befehls oder der Get-Member -Force Registerkartenabschluss angezeigt.

ForEach() und Where()

Where() Die ForEach() methoden sind für alle PowerShell-Objekte verfügbar. Sie sind jedoch bei der Arbeit mit Sammlungen am nützlichsten. Weitere Informationen zur Verwendung dieser Methoden finden Sie unter about_Arrays.

Eigenschaften

Anzahl und Länge

Die Eigenschaften "Anzahl " und "Länge " sind für alle PowerShell-Objekte verfügbar. Dies ähnelt einander, kann aber je nach Datentyp unterschiedlich funktionieren. Weitere Informationen zu diesen Eigenschaften finden Sie unter about_Properties.

Arrayindexierungstypen

Wenn ein Objekt keine indizierte Auflistung ist, gibt der Indexoperator zum Zugreifen auf das erste Element das Objekt selbst zurück. Indexwerte über die Rückgabe des ersten Elements hinaus $null.

PS> (2)[0]
2
PS> (2)[-1]
2
PS> (2)[1] -eq $null
True
PS> (2)[0,0] -eq $null
True

Weitere Informationen finden Sie unter about_Operators.

New() -Methode für Typen

Ab PowerShell 5.0 fügt PowerShell eine statische New() Methode für alle .NET-Typen hinzu. In den folgenden Beispielen wird dasselbe Ergebnis erzeugt.

$expression = New-Object -TypeName regex -ArgumentList 'pattern'
$expression = [regex]::new('pattern')

Die Verwendung der Methode führt besser als die new() Verwendung New-Objectaus.

Weitere Informationen finden Sie unter about_Classes.