Property vs. ExpandProperty in PowerShell

Property vs. ExpandProperty in PowerShell

Windows PowerShell ist hauptsächlich beim Anzeigen und Generieren von Objekten zentralisiert. Diese Objekte werden mit spezifischen Details unterstützt, die als Eigenschaften bezeichnet werden.

In diesem Artikel wird erläutert, was Eigenschaften sind, und sie von erweiterten Eigenschaften unterscheiden.

Property vs. ExpandProperty in PowerShell

Es ist möglicherweise nicht sehr klar, wenn der Unterschied zwischen Eigenschaften und erweiterten Eigenschaften erklärt wird. Nehmen wir also ein Beispiel, das uns hilft, ihn weiter zu visualisieren.

Beginnen wir damit, die Eigenschaften des Befehls Get-Process abzurufen, indem wir den folgenden Code ausführen.

Beispielcode:

Get-Process | Format-List -Property *

Beim Ausführen des obigen Befehls generiert PowerShell eine Struktur von Sammlungen von Informationen, die einem Objekt zugeordnet sind. Die folgende Ausgabe ist einige der vielen Eigenschaften des Befehls Get-Process.

Ausgabe:

Name                       : ApplicationFrameHost
Id                         : 13248
...
Modules                    : {System.Diagnostics.ProcessModule (ApplicationFrameHost.exe),
                             System.Diagnostics.ProcessModule (ntdll.dll), System.Diagnostics.ProcessModule
                             (KERNEL32.DLL), System.Diagnostics.ProcessModule (KERNELBASE.dll)...}

Lassen Sie uns eine der obigen Ausgabeeigenschaften abrufen und sie weiter untersuchen.

Beispielcode:

Get-Process | Select-Object -Property Modules

Ausgabe:

Modules
------
{System.Diagnostics.ProcessModule (ApplicationFrameHost.exe), System.Diagnostics.ProcessModule (ntdll.dll), System.D...

Wie wir sehen können, wird eine der Eigenschaften Module als Ausgabe angezeigt; Es ist jedoch derzeit nicht lesbar. Die Daten in der obigen Eigenschaft Modules werden in einer ArrayList abgelegt.

Wie machen wir diese Eigenschaft lesbarer? Wir erweitern die Eigenschaft mit dem Parameter ExpandProperty.

Der Parameter ExpandProperty wird verwendet, um die untergeordneten Eigenschaften der primären Eigenschaften eines PowerShell-Objekts zu untersuchen. PowerShell generiert eine mehrstufige Struktur, um die Objekte zu definieren, bei denen es sich um Eigenschaften und erweiterte Eigenschaften handelt.

Beispielcode:

Get-Process | Select-Object -ExpandProperty Modules

Ausgabe:

   Size(K) ModuleName                                         FileName
   ------- ----------                                         --------
        84 ApplicationFrameHost.exe                           C:\WINDOWS\system32\ApplicationFrameHost.exe
        <SNIP>
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn