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 specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn