Partager via


Création d’une vue large

Un affichage étendu affiche une seule valeur pour chaque objet affiché. La valeur affichée peut être la valeur d’une propriété d’objet .NET ou la valeur d’un script. Par défaut, il n’y a pas d’étiquette ou d’en-tête pour cette vue.

Affichage étendu

l’exemple suivant montre comment Windows PowerShell affiche l’objet System. diagnostics. Process retourné par l’applet de commande d' obtention de processus quand sa sortie est dirigée vers l’applet de commande Format-élargi . (Par défaut, l’applet de commande obtenir-process retourne une vue table.) Dans cet exemple, les deux colonnes sont utilisées pour afficher le nom du processus pour chaque objet retourné. Le nom de la propriété de l’objet n’est pas affiché, uniquement la valeur de la propriété.

Get-Process | format-wide
AEADISRV                     agrsmsvc
Ati2evxx                     Ati2evxx
audiodg                      CCC
CcmExec                      communicator
Crypserv                     csrss
csrss                        DevDtct2
DM1Service                   dpupdchk
dwm                          DxStudio
EXCEL                        explorer
GoogleToolbarNotifier        GrooveMonitor
hpqwmiex                     hpservice
Idle                         InoRpc
InoRT                        InoTask
ipoint                       lsass
lsm                          MOM
MSASCui                      notepad
...                          ...

Définition de la vue étendue

Le code XML suivant montre le schéma de vue larges pour l’objet System. Diagnostics. Process .

View>
  <Name>process</Name>
  <ViewSelectedBy>
    <TypeName>System.Diagnostics.Process</TypeName>
  </ViewSelectedBy>
  <GroupBy>...</GroupBy>
  <Controls>...</Controls>
  <WideControl>
    <WideEntries>
      <WideEntry>
        <WideItem>
          <PropertyName>ProcessName</PropertyName>
        </WideItem>
      </WideEntry>
    </WideEntries>
  </WideControl>
</View>

Les éléments XML suivants sont utilisés pour définir une vue étendue :

  • L’élément View est l’élément parent de la vue larges. (Il s’agit du même élément parent pour les vues de table, de liste et de contrôle personnalisé.)

  • 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 le moment où 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.

  • Les éléments de contrôle définissent les contrôles personnalisés qui sont définis par la vue larges. 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 elle peut utiliser des contrôles communs 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 WideControl et ses éléments enfants définissent ce qui est affiché dans la vue. Dans l’exemple précédent, la vue est conçue pour afficher la propriété System. Diagnostics. Process. ProcessName .

Pour obtenir un exemple de fichier de mise en forme complet qui définit un affichage plus simple, consultez vue étendue (de base).

Fournir des définitions pour votre vue étendue

Les vues larges peuvent fournir une ou plusieurs définitions à l’aide des éléments enfants de l’élément WideControl . En règle générale, une vue n’a qu’une seule définition. Dans l’exemple suivant, la vue fournit une définition unique qui affiche la valeur de la propriété System. Diagnostics. Process. ProcessName . Une vue étendue peut afficher la valeur d’une propriété ou la valeur d’un script (non illustrée dans l’exemple).

<WideControl>
  <AutoSize/>
  <ColumnNumber></ColumnNumber>
  <WideEntries>
    <WideEntry>
      <WideItem>
        <PropertyName>ProcessName</PropertyName>
      </WideItem>
    </WideEntry>
  </WideEntries>
</WideControl>

Les éléments XML suivants peuvent être utilisés pour fournir des définitions pour une vue étendue :

  • L’élément WideControl et ses éléments enfants définissent ce qui est affiché dans la vue.

  • L’élément AutoSize spécifie si la taille de la colonne et le nombre de colonnes sont ajustées en fonction de la taille des données. Cet élément est facultatif.

  • L’élément ColumnNumber spécifie le nombre de colonnes affichées dans la vue étendue. Cet élément est facultatif.

  • L’élément WideEntries fournit les définitions de la vue. Dans la plupart des cas, une vue n’a qu’une seule définition. Cet élément est obligatoire.

  • L’élément WideEntry fournit une définition de la vue. Au moins un WideEntry est requis ; Toutefois, il n’existe pas de limite maximale pour le nombre d’éléments que vous pouvez ajouter. Dans la plupart des cas, une vue n’a qu’une seule définition.

  • L’élément EntrySelectedBy spécifie les objets qui sont affichés par une définition spécifique. Cet élément est facultatif et n’est nécessaire que lorsque vous définissez plusieurs éléments WideEntry qui affichent des objets différents.

  • L’élément WideItem spécifie les données affichées par la vue. Contrairement à d’autres types de vues, un contrôle étendu ne peut afficher qu’un seul élément.

  • 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 scriptblock 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.

  • L’élément FormatString spécifie un modèle qui est 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 une définition de vue étendue, consultez vue étendue (de base).

Définition des objets qui utilisent l’affichage étendu

Il existe deux façons de définir les objets .NET qui utilisent la vue étendue. 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 les objets qui 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, de sorte que 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 la vue larges à l’aide des éléments ViewSelectedBy et TypeName . Il n’existe aucune limite quant 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>
  <WideControl>...</WideControl>
</View>

Les éléments XML suivants peuvent être utilisés pour spécifier les objets utilisés par l’affichage étendu :

  • L’élément ViewSelectedBy définit les objets qui sont affichés par la vue larges.

  • L’élément TypeName spécifie le .net qui est affiché par la vue. Le nom complet du type .NET est obligatoire. 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 étendue (de base).

L’exemple suivant utilise les éléments ViewSelectedBy et SelectionSetName . Utilisez des jeux de sélection dans lesquels vous avez un ensemble d’objets associés qui sont affichés à l’aide de plusieurs vues, par exemple lorsque vous définissez une vue étendue et une vue de table pour les mêmes objets. Pour plus d’informations sur la création d’un jeu de sélection, consultez définition des jeux de sélection.

<View>
  <Name>System.ServiceProcess.ServiceController</Name>
  <ViewSelectedBy>
    <SelectionSetName>.NET Type Set</SelectionSetName>
  </ViewSelectedBy>
  <WideControl>...</WideControl>
</View>

Les éléments XML suivants peuvent être utilisés pour spécifier les objets utilisés par l’affichage étendu :

  • L’élément ViewSelectedBy définit les objets qui sont affichés par la vue larges.

  • 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 la vue larges à 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 de conditions de sélection, consultez définition des conditions d’affichage des données.

<WideEntry>
  <EntrySelectedBy>
    <TypeName>.NET Type</TypeName>
  </EntrySelectedBy>
</WideEntry>

Les éléments XML suivants peuvent être utilisés pour spécifier les objets qui sont utilisés par une définition spécifique de l’affichage étendu :

  • L’élément EntrySelectedBy définit les objets qui sont affichés par la définition.

  • L’élément TypeName spécifie le .net qui est affiché par la définition. Lors de l’utilisation de cet élément, le nom complet du type .NET 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 qui peuvent ê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 qui peuvent ê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 qui peuvent être spécifiés. Pour plus d’informations sur la définition des conditions de sélection, consultez définition des conditions d’affichage des données.

Affichage des groupes d’objets dans un affichage étendu

Vous pouvez séparer les objets affichés par la vue larges en groupes. cela ne signifie pas que vous définissez un groupe, mais 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 moment où un groupe est démarré :

  • 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 qui s’affiche au début de chaque groupe. en plus du 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 qui est utilisé pour afficher les données. Cet élément est facultatif.

  • L’élément CustomControlName spécifie un contrôle d’affichage ou commun qui est 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 vue étendue (GroupBy).

Utilisation de chaînes de format

La mise en forme des chaînes peut être ajoutée à une vue étendue 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 StartTime propriété.

<WideItem>
  <PropertyName>StartTime</PropertyName>
  <FormatString>{0:MMM} {0:DD} {0:HH}:{0:MM}</FormatString>
</WideItem>

Les éléments XML suivants peuvent être utilisés pour spécifier un modèle de format :

  • L’élément WideItem 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 valeur de la propriété ou du script est affichée dans 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.

Dans l’exemple suivant, la ToString méthode 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.

<WideItem>
  <ScriptBlock>
    [String]::Format("{0,-10} {1,-8}", $_.LastWriteTime.ToString("d"), $_.LastWriteTime.ToString("t"))
  </ScriptBlock>
</WideItem>

L’élément XML suivant peut être utilisé pour appeler la ToString méthode :

  • L’élément WideItem 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.

Voir aussi

Vue large (De base)

Vue large (GroupBy)

Écriture d’un fichier de mise en forme PowerShell