Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El formato de presentación de los objetos devueltos por comandos (cmdlets, funciones y scripts) se definen mediante archivos de formato (format.ps1xml
). PowerShell proporciona varios de estos archivos para definir el formato de presentación de esos objetos devueltos por comandos proporcionados por PowerShell, como el objeto System.Diagnostics.Process devuelto por el cmdlet Get-Process
. Sin embargo, también puede crear sus propios archivos de formato personalizados para sobrescribir los formatos de presentación predeterminados o puede escribir un archivo de formato personalizado para definir la presentación de los objetos devueltos por sus propios comandos.
Importante
Los archivos de formato no determinan los elementos de un objeto que se devuelven a la canalización. Cuando se devuelve un objeto a la canalización, todos los miembros de ese objeto están disponibles incluso si no se muestran algunos.
PowerShell usa los datos de estos archivos de formato para determinar qué se muestra y cómo se da formato a los datos mostrados. Los datos mostrados pueden incluir las propiedades de un objeto o el valor de un script. Los scripts se usan si desea mostrar algún valor que no está disponible directamente desde las propiedades de un objeto, como agregar el valor de dos propiedades de un objeto y, a continuación, mostrar la suma como un fragmento de datos. El formato de los datos mostrados se realiza mediante la definición de vistas para los objetos que desea mostrar. Puede definir una sola vista para cada objeto, puede definir una vista única para varios objetos o puede definir varias vistas para el mismo objeto. No hay ningún límite en el número de vistas que se pueden definir.
Características comunes de los archivos de formato
Cada archivo de formato puede definir los siguientes componentes que se pueden compartir en todas las vistas definidas por el archivo:
Valor de configuración predeterminado, como si los datos mostrados en las filas de las tablas se mostrarán en la línea siguiente si los datos son más largos que el ancho de la columna. Para obtener más información sobre esta configuración, vea Wrap Element for TableRowEntry.
Conjuntos de objetos que puede mostrar cualquiera de las vistas del archivo de formato. Para obtener más información sobre estos conjuntos (denominados conjuntos de selección), vea Definir conjuntos de objetos.
Controles comunes que pueden usar todas las vistas del archivo de formato. Los controles proporcionan un control más preciso sobre cómo se muestran los datos. Para obtener más información sobre los controles, vea Definición de controles personalizados.
Formato de vistas
Las vistas de formato pueden mostrar objetos en formato de tabla, formato de lista, formato ancho y formato personalizado. Para la mayor parte, cada definición de formato se describe mediante un conjunto de etiquetas XML que describen la vista. Cada vista contiene el nombre de la vista, los objetos que usan la vista y los elementos de la vista, como la información de columna y fila de una vista de tabla.
Vista tabla
Enumera las propiedades de un objeto o un valor de bloque de script en una o varias columnas. Cada columna representa una sola propiedad del objeto o un valor de script. Puede definir una vista de tabla que muestre todas las propiedades de un objeto, un subconjunto de las propiedades de un objeto o una combinación de propiedades y valores de script. Cada fila de la tabla representa un objeto devuelto. La creación de una vista de tabla es muy similar al canalizar un objeto al cmdlet Format-Table
. Para obtener más información sobre esta vista, vea vista de tabla.
Vista de lista
Enumera las propiedades de un objeto o un valor de script en una sola columna. Cada fila de la lista muestra una etiqueta opcional o el nombre de propiedad seguido del valor de la propiedad o script.
La creación de una vista de lista es muy similar a la canalización de un objeto al cmdlet Format-List
. Para obtener más información sobre esta vista, vea Vista de lista.
Vista ancha
Enumera una sola propiedad de un objeto o un valor de script en una o varias columnas. No hay ninguna etiqueta o encabezado para esta vista. La creación de una vista amplia es muy similar a la canalización de un objeto al cmdlet Format-Wide
. Para obtener más información sobre esta vista, vea vista ancha.
Vista personalizada
Muestra una vista personalizable de propiedades de objeto o valores de script que no se adhieren a la estructura rígida de vistas de tabla, vistas de lista o vistas anchas. Puede definir una vista personalizada independiente o puede definir una vista personalizada que use otra vista, como una vista de tabla o una vista de lista.
La creación de una vista personalizada es muy similar a la canalización de un objeto al cmdlet Format-Custom
. Para obtener más información sobre esta vista, vea vista personalizada.
Componentes de una vista
En los ejemplos XML siguientes se muestran los componentes XML básicos de una vista. Los elementos XML individuales varían en función de la vista que quiera crear, pero los componentes básicos de las vistas son todos los mismos.
Para empezar, cada vista tiene un elemento Name
que especifica un nombre descriptivo que se usa para hacer referencia a la vista. un elemento ViewSelectedBy
que define qué objetos .NET se muestran mediante la vista y un control elemento que define la vista.
<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>
Dentro del elemento de control, puede definir uno o varios elementos entrada. Si usa varias definiciones, debe especificar qué objetos .NET usan cada definición. Normalmente solo se necesita una entrada, con una sola definición, para cada control.
<ListControl>
<ListEntries>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
<ListEntry>
<EntrySelectedBy>...</EntrySelectedBy>
<ListItems>...</ListItems>
</ListEntry>
</ListEntries>
</ListControl>
Dentro de cada elemento de entrada de una vista, especifique el elemento elementos que definen las propiedades o scripts de .NET que se muestran en esa vista.
<ListItems>
<ListItem>...</ListItem>
<ListItem>...</ListItem>
<ListItem>...</ListItem>
</ListItems>
Como se muestra en los ejemplos anteriores, el archivo de formato puede contener varias vistas, una vista puede contener varias definiciones y cada definición puede contener varios elementos.
Ejemplo de una vista de tabla
En el ejemplo siguiente se muestran las etiquetas XML usadas para definir una vista de tabla que contiene dos columnas. El elemento ViewDefinitions es el elemento contenedor para todas las vistas definidas en el archivo de formato. El elemento View define la tabla, lista, ancho o vista personalizada específica. Dentro de cada elemento View, el elemento Name especifica el nombre de la vista, el elemento ViewSelectedBy define los objetos que usan la vista y los distintos elementos de control (como el elemento TableControl
que se muestra en el ejemplo siguiente) definen el tipo de la vista.
<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>