Partager via


Vue d’ensemble des fichiers de mise en forme

Le format d’affichage des objets retournés par des commandes (applets de commande, fonctions et scripts) est défini à l’aide de fichiers de mise en forme (format.ps1xml). Plusieurs de ces fichiers sont fournis par PowerShell pour définir le format d’affichage de ces objets retournés par les commandes fournies par PowerShell, telles que l’objet System.Diagnostics.Process retourné par l’applet de commande Get-Process. Toutefois, vous pouvez également créer vos propres fichiers de mise en forme personnalisés pour remplacer les formats d’affichage par défaut ou écrire un fichier de mise en forme personnalisé pour définir l’affichage des objets retournés par vos propres commandes.

Important

Les fichiers de mise en forme ne déterminent pas les éléments d’un objet retournés au pipeline. Lorsqu’un objet est retourné au pipeline, tous les membres de cet objet sont disponibles même si certains ne sont pas affichés.

PowerShell utilise les données de ces fichiers de mise en forme pour déterminer ce qui est affiché et comment les données affichées sont mises en forme. Les données affichées peuvent inclure les propriétés d’un objet ou la valeur d’un script. Les scripts sont utilisés si vous souhaitez afficher une valeur qui n’est pas disponible directement à partir des propriétés d’un objet, telles que l’ajout de la valeur de deux propriétés d’un objet, puis l’affichage de la somme sous forme de données. La mise en forme des données affichées est effectuée en définissant des vues pour les objets que vous souhaitez afficher. Vous pouvez définir une vue unique pour chaque objet, vous pouvez définir une vue unique pour plusieurs objets, ou définir plusieurs vues pour le même objet. Il n’existe aucune limite au nombre de vues que vous pouvez définir.

Fonctionnalités courantes de mise en forme des fichiers

Chaque fichier de mise en forme peut définir les composants suivants qui peuvent être partagés entre toutes les vues définies par le fichier :

  • Paramètre de configuration par défaut, par exemple si les données affichées dans les lignes de tables sont affichées sur la ligne suivante si les données sont plus longues que la largeur de la colonne. Pour plus d’informations sur ces paramètres, consultez Wrap, élément pour TableRowEntry.

  • Ensembles d’objets qui peuvent être affichés par l’une des vues du fichier de mise en forme. Pour plus d’informations sur ces jeux (appelés jeux de sélection ), consultez Définition de jeux d’objets.

  • Contrôles courants qui peuvent être utilisés par toutes les vues du fichier de mise en forme. Les contrôles vous permettent de contrôler plus finement la façon dont les données sont affichées. Pour plus d’informations sur les contrôles, consultez Définition de contrôles personnalisés.

Affichages de mise en forme

Les affichages de mise en forme peuvent afficher des objets dans un format de tableau, un format de liste, un format large et un format personnalisé. Dans la plupart des cas, chaque définition de mise en forme est décrite par un ensemble de balises XML qui décrivent la vue. Chaque vue contient le nom de la vue, les objets qui utilisent la vue et les éléments de la vue, tels que les informations de colonne et de ligne d’un affichage de table.

Vue table

Répertorie les propriétés d’un objet ou d’une valeur de bloc de script dans une ou plusieurs colonnes. Chaque colonne représente une propriété unique de l’objet ou d’une valeur de script. Vous pouvez définir une vue de table qui affiche toutes les propriétés d’un objet, un sous-ensemble des propriétés d’un objet ou une combinaison de propriétés et de valeurs de script. Chaque ligne de la table représente un objet retourné. La création d’une vue de table est très similaire lorsque vous dirigez un objet vers l’applet de commande Format-Table. Pour plus d’informations sur cette vue, consultez vue table.

Affichage en liste

Répertorie les propriétés d’un objet ou d’une valeur de script dans une seule colonne. Chaque ligne de la liste affiche une étiquette facultative ou le nom de propriété suivi de la valeur de la propriété ou du script. La création d’un affichage de liste est très similaire à la piping d’un objet à l’applet de commande Format-List. Pour plus d’informations sur cette vue, consultez affichage liste.

Vue large

Répertorie une propriété unique d’un objet ou d’une valeur de script dans une ou plusieurs colonnes. Il n’y a pas d’étiquette ou d’en-tête pour cette vue. La création d’une vue large est très similaire à la piping d’un objet à l’applet de commande Format-Wide. Pour plus d’informations sur cette vue, consultez 'affichage large.

Vue personnalisée

Affiche une vue personnalisable des propriétés d’objet ou des valeurs de script qui ne respectent pas la structure rigide des vues de table, des vues de liste ou des vues larges. Vous pouvez définir une vue personnalisée autonome ou définir un affichage personnalisé utilisé par un autre affichage, tel qu’un affichage de table ou une vue de liste. La création d’une vue personnalisée est très similaire à la piping d’un objet à l’applet de commande Format-Custom. Pour plus d’informations sur cette vue, consultez vue personnalisée.

Composants d’une vue

Les exemples XML suivants montrent les composants XML de base d’une vue. Les éléments XML individuels varient en fonction de la vue que vous souhaitez créer, mais les composants de base des vues sont tous les mêmes.

Pour commencer, chaque vue a un élément Name qui spécifie un nom convivial utilisé pour référencer la vue. un élément ViewSelectedBy qui définit les objets .NET affichés par la vue et un contrôle élément qui définit la vue.

<ViewDefinitions>
  <View>
    <Name>NameOfView</Name>
    <ViewSelectedBy>...</ViewSelectedBy>
    <TableControl>...</TableControl>
  </View>
  <View>
    <Name>NameOfView</Name>
    <ViewSelectedBy>...</ViewSelectedBy>
    <ListControl>...</ListControl>
  <View>
  <View>
    <Name>NameOfView</Name>
    <ViewSelectedBy>...</ViewSelectedBy>
    <WideControl>...</WideControl>
  <View>
  <View>
    <Name>NameOfView</Name>
    <ViewSelectedBy>...</ViewSelectedBy>
    <CustomControl>...</CustomControl>
  </View>
</ViewDefinitions>

Dans l’élément de contrôle, vous pouvez définir une ou plusieurs entrée éléments. Si vous utilisez plusieurs définitions, vous devez spécifier les objets .NET qui utilisent chaque définition. En règle générale, une seule entrée, avec une seule définition, est nécessaire pour chaque contrôle.

<ListControl>
  <ListEntries>
    <ListEntry>
      <EntrySelectedBy>...</EntrySelectedBy>
      <ListItems>...</ListItems>
    </ListEntry>
    <ListEntry>
        <EntrySelectedBy>...</EntrySelectedBy>
      <ListItems>...</ListItems>
    </ListEntry>
    <ListEntry>
        <EntrySelectedBy>...</EntrySelectedBy>
      <ListItems>...</ListItems>
    </ListEntry>
  </ListEntries>
</ListControl>

Dans chaque élément d’entrée d’une vue, vous spécifiez l’élément éléments qui définissent les propriétés ou les scripts .NET affichés par cette vue.


<ListItems>
  <ListItem>...</ListItem>
  <ListItem>...</ListItem>
  <ListItem>...</ListItem>
</ListItems>

Comme illustré dans les exemples précédents, le fichier de mise en forme peut contenir plusieurs vues, une vue peut contenir plusieurs définitions et chaque définition peut contenir plusieurs éléments.

Exemple d’affichage de table

L’exemple suivant montre les balises XML utilisées pour définir une vue de table qui contient deux colonnes. L’élément ViewDefinitions est l’élément conteneur de toutes les vues définies dans le fichier de mise en forme. L’élément View définit la table, la liste, l’étendue ou l’affichage personnalisé spécifiques. Dans chaque élément View View, l’élément Name spécifie le nom de la vue, l’élément ViewSelectedBy définit les objets qui utilisent la vue et les différents éléments de contrôle (tels que l’élément TableControl indiqué dans l’exemple suivant) définissent le type de la vue.

<ViewDefinitions>
  <View>
    <Name>Name of View</Name>
    <ViewSelectedBy>
      <TypeName>Object to display using this view</TypeName>
      <TypeName>Object to display using this view</TypeName>
    </ViewSelectedBy>
    <TableControl>
      <TableHeaders>
        <TableColumnHeader>
          <Width></Width>
        </TableColumnHeader>
        <TableColumnHeader>
          <Width></Width>
        </TableColumnHeader>
      </TableHeaders>
      <TableRowEntries>
        <TableRowEntry>
          <TableColumnItems>
            <TableColumnItem>
              <PropertyName>Header for column 1</PropertyName>
            </TableColumnItem>
            <TableColumnItem>
              <PropertyName>Header for column 2</PropertyName>
            </TableColumnItem>
          </TableColumnItems>
        </TableRowEntry>
      </TableRowEntries>
    </TableControl>
  </View>
</ViewDefinitions>

Voir aussi

création d’un d’affichage de liste

création d’une vue table

création d’un en mode large

création de contrôles personnalisés

écrire un fichier de mise en forme et de types PowerShell