Property vs ExpandProperty dans PowerShell

Property vs ExpandProperty dans PowerShell

Windows PowerShell est principalement centralisé dans l’affichage et la génération d’objets. Ces objets sont pris en charge avec des détails spécifiques appelés propriétés.

Cet article discutera de ce que sont les propriétés et les différenciera des propriétés étendues.

Property vs. ExpandProperty dans PowerShell

Il n’est peut-être pas très clair d’expliquer la différence entre les propriétés et les propriétés étendues, alors prenons un exemple qui nous aidera à mieux le visualiser.

Commençons par obtenir les propriétés de la commande Get-Process en exécutant le code ci-dessous.

Exemple de code :

Get-Process | Format-List -Property *

Lors de l’exécution de la commande ci-dessus, PowerShell générera une structure de collections d’informations associées à un objet. La sortie ci-dessous est quelques-unes des nombreuses propriétés de la commande Get-Process.

Production:

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)...}

Prenons l’une des propriétés de sortie ci-dessus et examinons-les plus en détail.

Exemple de code :

Get-Process | Select-Object -Property Modules

Production:

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

Comme nous pouvons le voir, une des propriétés Modules affichée en sortie ; cependant, il n’est pas lisible actuellement. Les données de la propriété Modules ci-dessus sont placées dans une ArrayList.

Alors, comment rendre cette propriété plus lisible ? Nous développons la propriété à l’aide du paramètre ExpandProperty.

Le paramètre ExpandProperty est utilisé pour examiner les sous-propriétés des propriétés principales d’un objet PowerShell. PowerShell génère une structure à plusieurs niveaux pour définir les objets, qui sont des propriétés et des propriétés étendues.

Exemple de code :

Get-Process | Select-Object -ExpandProperty Modules

Production:

   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