RUBRIQUE
about_Properties
DESCRIPTION COURTE
Décrit comment utiliser les propriétés d'objet dans Windows
PowerShell.
DESCRIPTION LONGUE
Windows PowerShell utilise des collections structurées
d'informations, appelées " objets ", pour représenter les
éléments des magasins de données ou l'état de l'ordinateur.
En général, vous travaillez avec l'objet qui fait partie du
Microsoft .NET Framework, mais vous pouvez également créer
des objets personnalisés dans Windows PowerShell.
L'association entre un élément et son objet est très étroite.
Lorsque vous modifiez un objet, vous modifiez l'élément qu'il
représente. Par exemple, lorsque vous obtenez un fichier dans
Windows PowerShell, vous n'obtenez pas le fichier réel. Au lieu
de cela, vous obtenez un objet FileInfo qui représente le fichier.
Lorsque vous modifiez l'objet FileInfo, le fichier change aussi.
La plupart des objets ont des propriétés. Les propriétés sont
les données associées à un objet. Ces données décrivent l'objet.
Par exemple, un objet FileInfo a une propriété Length (Longueur),
qui décrit la taille du fichier représenté par l'objet.
Propriétés d'objets
Pour répertorier les propriétés d'un objet, utilisez l'applet
de commande Get-Member. Par exemple, pour obtenir les propriétés
d'un objet FileInfo, utilisez l'applet de commande Get-ChildItem
afin d'obtenir l'objet FileInfo qui représente un fichier.
Ensuite, utilisez un opérateur de pipeline (|) pour envoyer
l'objet FileInfo à Get-Member. La commande suivante obtient le
fichier PowerShell.exe et l'envoie à Get-Member. La variable
automatique $Pshome contient le chemin d'accès du répertoire
d'installation de Windows PowerShell.
get-childitem $pshome\powershell.exe | get-member
La sortie de la commande répertorie les membres de l'objet
FileInfo. Les membres incluent à la fois les propriétés et
les méthodes. Lorsque vous travaillez dans Windows PowerShell,
vous avez accès à tous les membres des objets.
Pour obtenir uniquement les propriétés d'un objet et pas les
méthodes, utilisez le paramètre MemberType de l'applet de
commande Get-Member avec une valeur " property " (propriété),
comme indiqué dans l'exemple suivant.
get-childitem $pshome\powershell.exe | get-member -membertype property
TypeName: System.IO.FileInfo
Name MemberType Definition
---- ---------- ----------
Attributes Property System.IO.FileAttributes Attributes {get;set;}
CreationTime Property System.DateTime CreationTime {get;set;}
CreationTimeUtc Property System.DateTime CreationTimeUtc {get;set;}
Directory Property System.IO.DirectoryInfo Directory {get;}
DirectoryName Property System.String DirectoryName {get;}
Exists Property System.Boolean Exists {get;}
Extension Property System.String Extension {get;}
FullName Property System.String FullName {get;}
IsReadOnly Property System.Boolean IsReadOnly {get;set;}
LastAccessTime Property System.DateTime LastAccessTime {get;set;}
LastAccessTimeUtc Property System.DateTime LastAccessTimeUtc {get;set;}
LastWriteTime Property System.DateTime LastWriteTime {get;set;}
LastWriteTimeUtc Property System.DateTime LastWriteTimeUtc {get;set;}
Length Property System.Int64 Length {get;}
Name Property System.String Name {get;}
Après avoir trouvé les propriétés, vous pouvez les utiliser dans
vos commandes Windows PowerShell.
Valeurs de propriété
Bien que tous les objets d'un type spécifique aient les mêmes
propriétés, les valeurs de ces propriétés décrivent l'objet
particulier. Par exemple, chaque objet FileInfo a une propriété
CreationTime, mais la valeur de cette propriété diffère pour
chaque fichier.
La méthode la plus courante pour obtenir les valeurs des
propriétés d'un objet consiste à utiliser la méthode de point.
Tapez une référence à l'objet, telle qu'une variable contenant
l'objet ou une commande permettant de l'obtenir. Ensuite, tapez
un point (.) suivi du nom de propriété.
Par exemple, la commande suivante affiche la valeur de la
propriété CreationTime du fichier PowerShell.exe. La commande
Get-ChildItem retourne un objet FileInfo qui représente le fichier
PowerShell.exe. La commande est mise entre parenthèses pour qu'elle
soit exécutée avant tout accès aux propriétés. La commande
Get-ChildItem est suivie d'un point et du nom de la propriété
CreationTime, comme suit :
C:\PS> (Get-ChildItem $pshome\powershell.exe).creationtime
Mardi 18 mars 2008 12:07:52
Vous pouvez également enregistrer un objet dans une variable,
puis obtenir ses propriétés via la méthode de point, comme
indiqué dans l'exemple suivant :
C:\PS> $a = Get-ChildItem $pshome\powershell.exe
C:\PS> $a.CreationTime
Mardi 18 mars 2008 12:07:52
Vous pouvez également utiliser les applets de commande
Select-Object et Format-List pour afficher les valeurs de
propriété d'un objet. Select-Object et Format-List ont chacune
un paramètre Property. Vous pouvez utiliser le paramètre
Property pour spécifier une ou plusieurs propriétés et leur
valeur. Sinon, vous pouvez utiliser le caractère générique (*)
pour représenter toutes les propriétés.
Par exemple, la commande suivante affiche les valeurs de toutes
les propriétés du fichier PowerShell.exe.
C:\PS> Get-ChildItem $pshome\powershell.exe | Format-List -property *
PSPath : Microsoft.PowerShell.Core\FileSystem::C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
PSParentPath : Microsoft.PowerShell.Core\FileSystem::C:\Windows\system32\WindowsPowerShell\v1.0
PSChildName : powershell.exe
PSDrive : C
PSProvider : Microsoft.PowerShell.Core\FileSystem
PSIsContainer : False
VersionInfo : File: C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
InternalName: POWERSHELL
OriginalFilename: PowerShell.EXE.MUI
File Version: 6.1.6570.1 (fbl_srv_powershell(nigels).070711-0102)
FileDescription: PowerShell.EXE
Product: Système d'exploitation Microsoft® Windows®
ProductVersion: 6.1.6570.1
Debug: False
Patched: False
PreRelease: False
PrivateBuild: True
SpecialBuild: False
Language: Anglais (États-Unis)
BaseName : powershell
Mode : -a---
Name : powershell.exe
Length : 160256
DirectoryName : C:\Windows\system32\WindowsPowerShell\v1.0
Directory : C:\Windows\system32\WindowsPowerShell\v1.0
IsReadOnly : False
Exists : True
FullName : C:\Windows\system32\WindowsPowerShell\v1.0\powershell.exe
Extension : .exe
CreationTime : 18/03/2008 12:07:52
CreationTimeUtc : 18/03/2008 7:07:52
LastAccessTime : 19/03/2008 8:13:58
LastAccessTimeUtc : 19/03/2008 15:13:58
LastWriteTime : 18/03/2008 12:07:52
LastWriteTimeUtc : 18/03/2008 7:07:52
Attributes : Archive
VOIR AUSSI
about_Objects
Get-Member
Select-Object
Format-List