Aplica a la salida el formato de una tabla.
Sintaxis
Format-Table [[-Property] <Object[]>] [-AutoSize] [-DisplayError] [-Expand <string>] [-Force] [-GroupBy <Object>] [-HideTableHeaders] [-InputObject <psobject>] [-ShowError] [-View <string>] [-Wrap] [<CommonParameters>]
Descripción
El cmdlet Format-Table aplica al resultado de un comando el formato de una tabla con las propiedades seleccionadas del objeto en cada columna. El tipo de objeto determina el diseño predeterminado y las propiedades que se mostrarán en cada columna, pero puede usarse el parámetro Property para seleccionar las propiedades que deben aparecer.
También puede utilizar una tabla hash para agregar propiedades calculadas a un objeto antes de mostrarlo y para especificar los encabezados de columna en la tabla. Para agregar una propiedad calculada, utilice los parámetros Property o GroupBy.
Parámetros
-AutoSize
Ajusta el tamaño de columna y el número de columnas en función del ancho de los datos. De forma predeterminada, el tamaño y el número de columnas vienen determinados por la vista.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-DisplayError
Muestra los errores en la línea de comandos.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Expand <string>
Da formato al objeto Collection, así como a los objetos de la colección. Este parámetro se ha diseñado para dar un formato a los objetos que sea compatible con la interfaz ICollection (System.Collections). El valor predeterminado es EnumOnly.
Los valores válidos son:
-- EnumOnly: muestra las propiedades de los objetos de la colección.
-- CoreOnly: muestra las propiedades del objeto Collection.
-- Both: muestra las propiedades del objeto Collection y de los objetos de la colección.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Force
Indica al cmdlet que muestre toda la información de error. Se utiliza con los parámetros DisplayError o ShowError. De forma predeterminada, cuando el objeto de error se escribe en la secuencia de error o de presentación, se muestra solo parte de la información de error.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-GroupBy <Object>
Organiza el resultado ordenado en tablas independientes basándose en un valor de propiedad. Por ejemplo, puede utilizar GroupBy para mostrar los servicios en tablas independientes según su estado.
Especifique una expresión o una propiedad de la salida. El resultado debe ordenarse antes de enviarlo a Format-Table.
El valor del parámetro GroupBy puede ser una nueva propiedad calculada. Para crear una propiedad calculada, utilice una tabla hash. Las claves válidas son:
-- Name (o Label) <cadena>
-- Expression <cadena> o <bloque de script>
-- FormatString <cadena>
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-HideTableHeaders
Omite los encabezados de columna de la tabla.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-InputObject <psobject>
Especifica los objetos a los que se les va a dar formato. Especifique la variable que contiene los objetos, o bien, escriba un comando o una expresión que obtenga los objetos.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByValue) |
¿Aceptar caracteres comodín? |
false |
-Property <Object[]>
Especifica las propiedades del objeto que se van a mostrar y el orden en el que van a aparecer. Escriba uno o varios nombres de propiedad (separados por comas) o utilice una tabla hash para mostrar una propiedad calculada. Se permite el uso de caracteres comodín.
Si se omite este parámetro, las propiedades que aparezcan en la presentación dependerán del objeto que se está mostrando. El nombre del parámetro ("Property") es opcional. Los parámetros Property y View no se pueden usar en el mismo comando.
El valor del parámetro Property puede ser una nueva propiedad calculada. Para crear una propiedad calculada, utilice una tabla hash. Las claves válidas son:
-- Name (o Label) <cadena>
-- Expression <cadena> o <bloque de script>
-- FormatString <cadena>
-- Width <int32>
-- Alignment (el valor puede ser "Left", "Center" o "Right")
¿Requerido? |
false |
¿Posición? |
1 |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-ShowError
Envía los errores a través de la canalización.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-View <string>
Especifica el nombre de un formato de tabla alternativo o una vista alternativa. Los parámetros Property y View no se pueden usar en el mismo comando.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Wrap
Muestra el texto que sobrepasa el ancho de columna en la línea siguiente. De manera predeterminada, el texto que sobrepasa el ancho de columna se trunca.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
<CommonParameters>
Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.
Entradas y salidas
El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.
Entradas |
System.Management.Automation.PSObject Puede canalizar cualquier objeto a Format-Table. |
Salidas |
Microsoft.PowerShell.Commands.Internal.Format Format-Table devuelve los objetos de formato que representan la tabla. |
Notas
También puede hacer referencia a Format-Table mediante su alias integrado, "FT". Para obtener más información, vea about_Aliases.
El parámetro GroupBy presupone que los objetos están ordenados. Antes de usar Format-Custom para agrupar los objetos, use Sort-Object para ordenarlos.
El parámetro View permite especificar un formato alternativo para la tabla. Puede usar las vistas definidas en los archivos *.format.PS1XML del directorio Windows PowerShell o puede crear sus propias vistas en nuevos archivos PS1XML y usar el cmdlet Update-FormatData para agregarlas a Windows PowerShell.
La vista alternativa del parámetro View debe usar un formato de tabla; de no ser así, se producirá un error al ejecutar el comando. Si la vista alternativa es una lista, use Format-List. Si la vista alternativa no es una lista ni una tabla, use Format-Custom.
Ejemplo 1
C:\PS>get-pssnapin | format-table -auto Descripción ----------- Este comando aplica a la información sobre los complementos de Windows PowerShell el formato de una tabla. De manera predeterminada, a estos complementos se les aplica el formato de lista. El cmdlet Get-PSSnapin obtiene los objetos que representan los complementos. El operador de canalización (|) pasa el objeto al comando Format-Table, que aplica a los objetos el formato de tabla. El parámetro Autosize ajusta el ancho de columna para minimizar el truncamiento de los datos.
Ejemplo 2
C:\PS>get-process | sort-object -property basepriority | format-table -groupby basepriority -wrap Descripción ----------- Este comando muestra los procesos del equipo en grupos con la misma prioridad base. El cmdlet Get-Process obtiene los objetos que representan los procesos de un equipo. El operador de canalización (|) pasa los objetos al cmdlet Sort-Object, que los ordena según su prioridad base. Otro operador de canalización pasa los resultados al comando Format-Table. El parámetro GroupBy organiza los datos de los procesos en grupos de acuerdo con el valor de su propiedad BasePriority. El parámetro Wrap garantiza que no se truncan los datos.
Ejemplo 3
C:\PS>get-process | sort-object starttime | format-table -view starttime Descripción ----------- Este comando muestra la información sobre los procesos del equipo en grupos de acuerdo con la fecha de inicio de los procesos. Usa el cmdlet Get-Process para obtener los objetos que representan los procesos del equipo. El operador de canalización (|) envía los resultados de Get-Process al cmdlet Sort-Object, que los ordena según la propiedad StartTime. Otro operador de canalización envía los resultados ordenados a Format-Table. El parámetro View se usa para seleccionar la vista StartTime que se ha definido en el archivo de formato DotNetTypes.format.ps1xml para los objetos System.Diagnostics.Process, como los que devuelve Get-Process. Esta vista transforma la fecha de inicio del proceso en una fecha abreviada y agrupa a continuación los procesos de acuerdo con su fecha de inicio. El archivo de formato DotNetTypes.format.ps1xml contiene también una vista Priority para los procesos y el usuario puede crear sus propios archivos format.ps1xml con vistas personalizadas.
Ejemplo 4
C:\PS>get-service | format-table -property Name, DependentServices Descripción ----------- Este comando muestra todos los servicios del equipo en una tabla de dos columnas: Name y DependentServices. El comando utiliza el cmdlet Get-Service para obtener todos los servicios del equipo. El operador de canalización (|) envía los resultados al cmdlet Format-Table, que aplica a los resultados el formato de tabla. El parámetro Property especifica las propiedades que aparecen en la tabla como columnas. El nombre del parámetro Property es opcional y, por tanto, puede omitirse ("format-table name, dependentservices"). Property y DependentServices son dos de las propiedades de los objetos de servicio. Para ver todas las propiedades, escriba "get-service | get-member".
Ejemplo 5
C:\PS>get-process notepad | format-table ProcessName, ` @{Label="TotalRunningTime"; Expression={(get-date) - $_.StartTime}} Descripción ----------- Este comando muestra cómo se usa una propiedad calculada en una tabla. El comando muestra una tabla con el nombre de proceso y el tiempo total de ejecución de todos los procesos de Bloc de notas que se ejecutan en el equipo local. El tiempo total de ejecución se calcula restando la hora de inicio de cada proceso de la hora actual. El comando usa el cmdlet Get-Process para obtener todos los procesos denominados "Notepad" (Bloc de notas) del equipo local. El operador de canalización (|) envía los resultados a Format-Table, que muestra una tabla de dos columnas: ProcessName, una propiedad estándar de los procesos, y TotalRunningTime, una propiedad calculada. La propiedad TotalRunningTime se especifica mediante una tabla hash con dos claves, Label y Expression. El nombre de la propiedad se asigna a la clave Label. El cálculo se asigna a la clave Expression. La expresión obtiene la propiedad StartTime de cada objeto de proceso y la resta del resultado de un comando Get-Date, que obtiene la fecha (y la hora) actual.
Ejemplo 6
C:\PS>$processes = get-wmiobject -ComputerName Server01 win32_process -filter "name='notepad.exe'" C:\PS> $processes | format-table ProcessName, @{ Label = "Total Running Time"; ` Expression={(get-date) - $_.ConvertToDateTime($_.CreationDate)}} Descripción ----------- Estos comandos son similares al comando anterior, salvo en que usan el cmdlet Get-WmiObject y la clase Win32_Process para mostrar información sobre los procesos de Notepad (Bloc de notas) que se ejecutan en un equipo remoto. El primer comando usa el cmdlet Get-WmiObject para obtener las instancias de la clase Win32_Process de Instrumental de administración de Windows (WMI), que describe todos los procesos del equipo Server01 que se denominan Notepad.exe. El comando almacena la información de los procesos en la variable $processes. El segundo comando usa un operador de canalización (|) para enviar la información de los procesos almacenada en la variable $processes al cmdlet Format-Table, que muestra la propiedad ProcessName de cada proceso junto con una nueva propiedad calculada. El comando asigna el nombre de la nueva propiedad calculada, Total Running Time, a la clave Label. El bloque de script que se asigna a la clave Expression calcula el tiempo de ejecución del proceso restando la fecha de creación del proceso de la fecha actual. El cmdlet Get-Date obtiene la fecha actual. El método ConvertToDateTime convierte la propiedad CreationDate del objeto Win32_Process de un objeto CIM_DATETIME de WMI en un objeto DateTime de Microsoft .NET Framework que se puede comparar con el resultado de Get-Date. A continuación, la fecha de creación resultante de la conversión se resta de la fecha actual. El resultado es el valor de Total Running Time. El carácter de acento grave (`) es el carácter de continuación de línea.
Vea también