Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Une vue de liste affiche les données dans une seule colonne (dans l’ordre séquentiel). Les données affichées dans la liste peuvent être la valeur d’une propriété .NET ou de la valeur d’un script.
Affichage d’une liste
La sortie suivante montre comment Windows PowerShell affiche les propriétés de System.ServiceProcess.ServiceController objets retournés par l’applet de commande Get-Service Get-Service. Dans cet exemple, trois objets ont été retournés, chaque objet étant séparé de l’objet précédent par une ligne vide.
Get-Service | Format-List
Name : AEADIFilters
DisplayName : Andrea ADI Filters Service
Status : Running
DependentServices : {}
ServicesDependedOn : {}
CanPauseAndContinue : False
CanShutdown : False
CanStop : True
ServiceType : Win32OwnProcess
Name : AeLookupSvc
DisplayName : Application Experience
Status : Running
DependentServices : {}
ServicesDependedOn : {}
CanPauseAndContinue : False
CanShutdown : False
CanStop : True
ServiceType : Win32ShareProcess
Name : AgereModemAudio
DisplayName : Agere Modem Call Progress Audio
Status : Running
DependentServices : {}
ServicesDependedOn : {}
CanPauseAndContinue : False
CanShutdown : False
CanStop : True
ServiceType : Win32OwnProcess
...
Définition de l’affichage liste
Le code XML suivant montre le schéma d’affichage de liste pour afficher plusieurs propriétés de l’objet System.ServiceProcess.ServiceController. Vous devez spécifier chaque propriété que vous souhaitez afficher dans l’affichage liste.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<TypeName>System.ServiceProcess.ServiceController</TypeName>
</ViewSelectedBy>
<ListControl>
<ListEntries>
<ListEntry>
<ListItems>
<ListItem>
<PropertyName>Name</PropertyName>
</ListItem>
<ListItem>
<PropertyName>DisplayName</PropertyName>
</ListItem>
<ListItem>
<PropertyName>Status</PropertyName>
</ListItem>
<ListItem>
<PropertyName>ServiceType</PropertyName>
</ListItem>
</ListItems>
</ListEntry>
</ListEntries>
</ListControl>
</View>
Les éléments XML suivants sont utilisés pour définir un affichage de liste :
L’élément View est l’élément parent de l’affichage de liste. (Il s’agit du même élément parent pour les vues de contrôle personnalisées, larges et de table.)
L’élément Name spécifie le nom de la vue. Cet élément est requis pour toutes les vues.
L’élément ViewSelectedBy définit les objets qui utilisent la vue. Cet élément est obligatoire.
L’élément GroupBy définit lorsqu’un nouveau groupe d’objets est affiché. Un nouveau groupe est démarré chaque fois que la valeur d’une propriété ou d’un script spécifique change. Cet élément est facultatif.
L’élément Controls définit les contrôles personnalisés définis par l’affichage liste. Les contrôles vous permettent de spécifier davantage la façon dont les données sont affichées. Cet élément est facultatif. Une vue peut définir ses propres contrôles personnalisés ou utiliser des contrôles courants qui peuvent être utilisés par n’importe quelle vue dans le fichier de mise en forme. Pour plus d’informations sur les contrôles personnalisés, consultez Création de contrôles personnalisés.
L’élément ListControl définit ce qui est affiché dans l’affichage et comment il est mis en forme. Comme pour tous les autres affichages, une vue de liste peut afficher les valeurs des propriétés d’objet ou des valeurs générées par un script.
Pour obtenir un exemple de fichier de mise en forme complet qui définit un affichage de liste simple, consultez Vue de liste (de base).
Fourniture de définitions pour votre affichage de liste
Les vues de liste peuvent fournir une ou plusieurs définitions à l’aide des éléments enfants de l’élément ListControl. En règle générale, une vue n’aura qu’une seule définition. Dans l’exemple suivant, la vue fournit une définition unique qui affiche plusieurs propriétés de l’objet System.Diagnostics.Process. Une vue de liste peut afficher la valeur d’une propriété ou la valeur d’un script (non affichée dans l’exemple).
<ListControl>
<ListEntries>
<ListEntry>
<ListItems>
<ListItem>
<PropertyName>Name</PropertyName>
</ListItem>
<ListItem>
<PropertyName>DisplayName</PropertyName>
</ListItem>
<ListItem>
<PropertyName>Status</PropertyName>
</ListItem>
<ListItem>
<PropertyName>ServiceType</PropertyName>
</ListItem>
</ListItems>
</ListEntry>
</ListEntries>
</ListControl>
Les éléments XML suivants peuvent être utilisés pour fournir des définitions pour un affichage de liste :
L’élément ListControl et ses éléments enfants définissent ce qui est affiché dans l’affichage.
L’élément ListEntries fournit les définitions de la vue. Dans la plupart des cas, une vue n’aura qu’une seule définition. Cet élément est obligatoire.
L’élément ListEntry fournit une définition de la vue. Au moins un ListEntry est requis ; Toutefois, il n’existe aucune limite maximale au nombre d’éléments que vous pouvez ajouter. Dans la plupart des cas, une vue n’aura qu’une seule définition.
L’élément EntrySelectedBy spécifie les objets affichés par une définition spécifique. Cet élément est facultatif et n’est nécessaire que lorsque vous définissez plusieurs ListEntry éléments qui affichent différents objets.
L’élément ListItems spécifie les propriétés et les scripts dont les valeurs sont affichées dans les lignes de l’affichage de liste.
L’élément ListItem spécifie une propriété ou un script dont la valeur est affichée dans une ligne de l’affichage de liste. Un affichage de liste doit spécifier au moins une propriété ou un script. Il n’existe aucune limite maximale au nombre de lignes qui peuvent être spécifiées.
L’élément PropertyName spécifie la propriété dont la valeur est affichée dans la ligne. Vous devez spécifier une propriété ou un script, mais vous ne pouvez pas spécifier les deux.
L’élément ScriptBlock spécifie le script dont la valeur est affichée dans la ligne. Vous devez spécifier un script ou une propriété, mais vous ne pouvez pas spécifier les deux.
L’élément Label spécifie l’étiquette affichée à gauche de la propriété ou de la valeur de script dans la ligne. Cet élément est facultatif. Si aucune étiquette n’est spécifiée, le nom de la propriété ou le script s’affiche. Pour obtenir un exemple complet, consultez vue liste (étiquettes).
L’élément ItemSelectionCondition spécifie une condition qui doit exister pour que la ligne s’affiche. Pour plus d’informations sur l’ajout de conditions à l’affichage liste, consultez Définition des conditions pour l’affichage des données. Cet élément est facultatif.
L’élément FormatString spécifie un modèle utilisé pour afficher la valeur de la propriété ou du script. Cet élément est facultatif.
Pour obtenir un exemple de fichier de mise en forme complet qui définit un affichage de liste simple, consultez Vue de liste (de base).
Définition des objets qui utilisent l’affichage liste
Il existe deux façons de définir les objets .NET qui utilisent l’affichage liste. Vous pouvez utiliser l’élément ViewSelectedBy pour définir les objets qui peuvent être affichés par toutes les définitions de la vue, ou vous pouvez utiliser l’élément EntrySelectedBy pour définir quels objets sont affichés par une définition spécifique de la vue. Dans la plupart des cas, une vue n’a qu’une seule définition. Par conséquent, les objets sont généralement définis par l’élément ViewSelectedBy.
L’exemple suivant montre comment définir les objets affichés par l’affichage liste à l’aide des éléments ViewSelectedBy et TypeName. Il n’existe aucune limite au nombre d’éléments TypeName que vous pouvez spécifier, et leur ordre n’est pas significatif.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<TypeName>System.Diagnostics.Process</TypeName>
</ViewSelectedBy>
<ListControl>...</ListControl>
</View>
Les éléments XML suivants peuvent être utilisés pour spécifier les objets utilisés par l’affichage liste :
L’élément ViewSelectedBy définit les objets affichés par l’affichage liste.
L’élément TypeName spécifie l’objet .NET affiché par la vue. Le nom de type .NET complet est requis. Vous devez spécifier au moins un type ou un jeu de sélection pour la vue, mais il n’existe aucun nombre maximal d’éléments qui peuvent être spécifiés.
Pour obtenir un exemple de fichier de mise en forme complet, consultez Vue de liste (de base).
L’exemple suivant utilise les éléments ViewSelectedBy et SelectionSetName. Utilisez des jeux de sélection dans lesquels vous disposez d’un ensemble associé d’objets affichés à l’aide de plusieurs vues, par exemple lorsque vous définissez un affichage de liste et une vue de table pour les mêmes objets. Pour plus d’informations sur la création d’un jeu de sélections, consultez Définition des jeux de sélection.
<View>
<Name>System.ServiceProcess.ServiceController</Name>
<ViewSelectedBy>
<SelectionSetName>.NET Type Set</SelectionSetName>
</ViewSelectedBy>
<ListControl>...</ListControl>
</View>
Les éléments XML suivants peuvent être utilisés pour spécifier les objets utilisés par l’affichage liste :
L’élément ViewSelectedBy définit les objets affichés par l’affichage liste.
L’élément SelectionSetName spécifie un ensemble d’objets qui peuvent être affichés par la vue. Vous devez spécifier au moins un jeu de sélection ou un type pour la vue, mais il n’existe aucun nombre maximal d’éléments qui peuvent être spécifiés.
L’exemple suivant montre comment définir les objets affichés par une définition spécifique de l’affichage de liste à l’aide de l’élément EntrySelectedBy. À l’aide de cet élément, vous pouvez spécifier le nom de type .NET de l’objet, un jeu de sélection d’objets ou une condition de sélection qui spécifie quand la définition est utilisée. Pour plus d’informations sur la création d’une condition de sélection, consultez Définition des conditions pour l’affichage des données.
<ListEntry>
<EntrySelectedBy>
<TypeName>.NET Type</TypeName>
</EntrySelectedBy>
</ListEntry>
Les éléments XML suivants peuvent être utilisés pour spécifier les objets utilisés par une définition spécifique de l’affichage de liste :
L’élément EntrySelectedBy définit les objets affichés par la définition.
L’élément TypeName spécifie l’objet .NET affiché par la définition. Lorsque vous utilisez cet élément, le nom de type .NET complet est requis. Vous devez spécifier au moins un type, un jeu de sélection ou une condition de sélection pour la définition, mais il n’existe aucun nombre maximal d’éléments pouvant être spécifiés.
L’élément SelectionSetName (non affiché) spécifie un ensemble d’objets qui peuvent être affichés par cette définition. Vous devez spécifier au moins un type, un jeu de sélection ou une condition de sélection pour la définition, mais il n’existe aucun nombre maximal d’éléments pouvant être spécifiés.
L’élément SelectionCondition (non affiché) spécifie une condition qui doit exister pour que cette définition soit utilisée. Vous devez spécifier au moins un type, un jeu de sélection ou une condition de sélection pour la définition, mais il n’existe aucun nombre maximal d’éléments pouvant être spécifiés. Pour plus d’informations sur la définition des conditions de sélection, consultez Définition des conditions pour l’affichage des données.
Affichage de groupes d’objets dans un affichage liste
Vous pouvez séparer les objets affichés par l’affichage liste dans des groupes. Cela ne signifie pas que vous définissez un groupe, uniquement que Windows PowerShell démarre un nouveau groupe chaque fois que la valeur d’une propriété ou d’un script spécifique change. Dans l’exemple suivant, un nouveau groupe est démarré chaque fois que la valeur de la propriété System.ServiceProcess.ServiceController.ServiceType change.
<GroupBy>
<Label>Service Type</Label>
<PropertyName>ServiceType</PropertyName>
</GroupBy>
Les éléments XML suivants sont utilisés pour définir le démarrage d’un groupe :
L’élément GroupBy définit la propriété ou le script qui démarre le nouveau groupe et définit la façon dont le groupe est affiché.
L’élément PropertyName spécifie la propriété qui démarre un nouveau groupe chaque fois que sa valeur change. Vous devez spécifier une propriété ou un script pour démarrer le groupe, mais vous ne pouvez pas spécifier les deux.
L’élément ScriptBlock spécifie le script qui démarre un nouveau groupe chaque fois que sa valeur change. Vous devez spécifier un script ou une propriété pour démarrer le groupe, mais vous ne pouvez pas spécifier les deux.
L’élément Label définit une étiquette affichée au début de chaque groupe. Outre le texte spécifié par cet élément, Windows PowerShell affiche la valeur qui a déclenché le nouveau groupe et ajoute une ligne vide avant et après l’étiquette. Cet élément est facultatif.
L’élément CustomControl définit un contrôle utilisé pour afficher les données. Cet élément est facultatif.
L’élément CustomControlName spécifie un contrôle commun ou d’affichage utilisé pour afficher les données. Cet élément est facultatif.
Pour obtenir un exemple de fichier de mise en forme complet qui définit des groupes, consultez Affichage liste (GroupBy).
Utilisation de chaînes de format
Vous pouvez ajouter des chaînes de mise en forme à une vue pour définir davantage la façon dont les données sont affichées. L’exemple suivant montre comment définir une chaîne de mise en forme pour la valeur de la propriété StartTime.
<ListItem>
<PropertyName>StartTime</PropertyName>
<FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</ListItem>
Les éléments XML suivants peuvent être utilisés pour spécifier un modèle de format :
L’élément ListItem spécifie les données affichées par la vue.
L’élément PropertyName spécifie la propriété dont la valeur est affichée par la vue. Vous devez spécifier une propriété ou un script, mais vous ne pouvez pas spécifier les deux.
L’élément FormatString spécifie un modèle de format qui définit la façon dont la propriété ou la valeur de script est affichée dans l’affichage.
L’élément ScriptBlock (non affiché) spécifie le script dont la valeur est affichée par la vue. Vous devez spécifier un script ou une propriété, mais vous ne pouvez pas spécifier les deux.
Dans l’exemple suivant, la méthode ToString est appelée pour mettre en forme la valeur du script. Les scripts peuvent appeler n’importe quelle méthode d’un objet. Par conséquent, si un objet a une méthode, telle que ToString, qui a des paramètres de mise en forme, le script peut appeler cette méthode pour mettre en forme la valeur de sortie du script.
<ListItem>
<ScriptBlock>
[string]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
</ScriptBlock>
</ListItem>
L’élément XML suivant peut être utilisé pour appeler la méthode ToString :
L’élément ListItem spécifie les données affichées par la vue.
L’élément ScriptBlock (non affiché) spécifie le script dont la valeur est affichée par la vue. Vous devez spécifier un script ou une propriété, mais vous ne pouvez pas spécifier les deux.