Format-Table
Aplica al resultado un formato de tabla.
Syntax
Format-Table
[[-Property] <Object[]>]
[-AutoSize]
[-HideTableHeaders]
[-Wrap]
[-GroupBy <Object>][-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>][<CommonParameters>]
Description
El Format-Table
cmdlet da formato a la salida de un comando como 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 muestran en cada columna, pero puede usar el parámetro Property para seleccionar las propiedades que desea ver.
También puede usar una tabla hash para agregar propiedades calculadas a un objeto antes de mostrarla y especificar los encabezados de columna en la tabla. Para agregar una propiedad calculada, use el parámetro Property o GroupBy .
Ejemplos
Ejemplo 1: Dar formato al host de PowerShell
Este comando muestra información sobre el programa host para PowerShell en una tabla. De forma predeterminada, se les aplica formato en una lista.
Get-Host | Format-Table -AutoSize
El Get-Host
cmdlet obtiene objetos que representan el host. El operador de canalización (|) pasa el objeto al Format-Table
cmdlet . El Format-Table
cmdlet da formato a los objetos de una tabla. El parámetro AutoSize ajusta los anchos de columna para minimizar el truncamiento.
Ejemplo 2: Dar formato a procesos por BasePriority
Este comando muestra los procesos en el equipo en grupos con la misma prioridad base.
Get-Process | Sort-Object -Property basepriority | Format-Table -GroupBy basepriority -Wrap
El cmdlet Get-Process obtiene objetos que representan cada proceso del equipo. El operador de canalización (|) pasa el objeto al cmdlet Sort-Object, que ordena los objetos en orden de su prioridad base.
Otro operador de canalización pasa los resultados al Format-Table
cmdlet . El parámetro GroupBy organiza los datos sobre los procesos en grupos en función del valor de su propiedad BasePriority. El parámetro Wrap garantiza que los datos no se truncan.
Ejemplo 3: Dar formato a procesos por fecha de inicio
Get-Process | Sort-Object starttime | Format-Table -View starttime
Este comando muestra información sobre los procesos en el equipo en grupo según la fecha de inicio del proceso. Usa el cmdlet Get-Process para obtener objetos que representan los procesos del equipo. El operador de canalización (|) envía la salida del Get-Process
Sort-Object
cmdlet , que lo ordena en función de 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 definida en el DotNetTypes.format.ps1xml
archivo para objetos System.Diagnostics.Process , como los devueltos por Get-Process
. Esta vista convierte startTime del proceso en una fecha corta y, a continuación, agrupa los procesos por fecha de inicio.
El DotNetTypes.format.ps1xml
archivo también contiene una vista Prioridad para los procesos. Puede crear sus propios archivos format.ps1xml con vistas personalizadas.
Ejemplo 4: Dar formato a los servicios
Get-Service | Format-Table -Property Name, DependentServices
Este comando muestra todos los servicios del equipo de una tabla con dos columnas, Name y DependentServices. El Get-Service
cmdlet obtiene todos los servicios del equipo. El operador de canalización (|) envía los resultados al Format-Table
cmdlet , que da formato a la salida en una tabla.
El parámetro Property especifica las propiedades que aparecen en la tabla como columnas. El nombre del parámetro Property es opcional, por lo que puede omitirlo, por ejemplo Format-Table Name, DependentServices
.
Name y DependentServices son solo dos de las propiedades de los objetos de servicio. Para ver todas las propiedades, escriba Get-Service | Get-Member -MemberType Properties
.
Ejemplo 5: Dar formato a un proceso y calcular su tiempo de ejecución
Este comando muestra cómo usar una propiedad calculada en una tabla.
Get-Process Notepad | Format-Table ProcessName,
@{Label="TotalRunningTime"; Expression={(Get-Date) - $_.StartTime}}
El comando muestra una tabla con el nombre del proceso y el tiempo total de ejecución de todos los procesos Notepad en el equipo local. El tiempo de ejecución total se calcula restando la hora de inicio de cada proceso de la hora actual.
El comando usa el Get-Process
cmdlet para obtener todos los procesos denominados Bloc de notas en el equipo local.
El operador de canalización (|) envía los resultados a Format-Table
, que muestra una tabla con dos columnas: ProcessName, una propiedad estándar de 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 expresión . La expresión obtiene la propiedad StartTime de cada objeto de proceso y la resta del resultado de un Get-Date
comando, que obtiene la fecha y hora actuales.
Ejemplo 6: Formato de procesos del Bloc de notas
Estos comandos son similares al comando anterior, salvo que estos comandos usan el Get-WmiObject
cmdlet .
$Processes = Get-WmiObject -ComputerName "Server01" -Class win32_process -Filter "name='notepad.exe'"
$Processes | Format-Table ProcessName, @{ Label = "Total Running Time"; Expression={(Get-Date) - $_.ConvertToDateTime($_.CreationDate)}}
El primer comando usa el Get-WmiObject
cmdlet para obtener instancias de la clase Win32_Process WMI que describe todos los procesos del equipo Server01 denominado Notepad.exe
.
El comando almacena la información del proceso en la $Processes
variable .
El segundo comando usa un operador de canalización (|) para enviar la información del proceso en la $Processes
variable al Format-Table
cmdlet , que muestra ProcessName y una nueva propiedad calculada.
El comando asigna el nombre de la nueva propiedad calculada, "Tiempo total de ejecución", a la clave Etiqueta . El bloque de script que se asigna a la clave de expresión calcula cuánto tiempo se ha ejecutado el proceso restando la fecha de creación del proceso a partir de la fecha actual. El Get-Date
cmdlet obtiene la fecha actual. El método ConvertToDateTime convierte la propiedad CreationDate del objeto Win32_Process de un objeto WMI CIM_DATETIME en un objeto DateTime de .NET que se puede comparar con la salida de Get-Date
. A continuación, la fecha de creación convertida se resta de la fecha actual. El resultado es el valor de Tiempo de ejecución total.
Ejemplo 7: Solución de errores de formato
Los ejemplos siguientes muestran los resultados de agregar los parámetros DisplayError o ShowError con una expresión.
PC /> Get-Date | Format-Table DayOfWeek,{ $_ / $null } -DisplayError
DayOfWeek $_ / $null
--------- ------------
Wednesday #ERR
PC /> Get-Date | Format-Table DayOfWeek,{ $_ / $null } -ShowError
DayOfWeek $_ / $null
--------- ------------
Wednesday
Failed to evaluate expression " $_ / $null ".
+ CategoryInfo : InvalidArgument: (10/30/2013 2:28:07 PM:PSObject) \[\], RuntimeException
+ FullyQualifiedErrorId : mshExpressionError
Parámetros
-AutoSize
Indica que el cmdlet 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 las columnas dependen de la vista.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayError
Indica que el cmdlet muestra errores en la línea de comandos. Este parámetro rara vez se usa, pero se puede usar como ayuda de depuración cuando se da formato a expresiones en un Format-Table
comando y las expresiones no parecen funcionar.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Expand
Especifica el formato del objeto de colección, así como los objetos de la colección. Este parámetro está diseñado para dar formato a objetos compatibles con la interfaz ICollection (System.Collections). El valor predeterminado es EnumOnly. Los valores permitidos para este parámetro son los siguientes:
- EnumOnly: muestra las propiedades de los objetos de la colección.
- CoreOnly: muestra las propiedades del objeto de colección.
- Ambos: muestra las propiedades del objeto de colección y las propiedades de los objetos de la colección.
Type: | String |
Accepted values: | CoreOnly, EnumOnly, Both |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Indica que el cmdlet dirige el cmdlet para mostrar toda la información de error. Use con el parámetro DisplayError o ShowError . De forma predeterminada, cuando se escribe un objeto de error en las secuencias de error o de presentación, solo se muestra parte de la información de error.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-GroupBy
Especifica la salida ordenada en tablas independientes en función de un valor de propiedad. Por ejemplo, puede usar GroupBy para enumerar los servicios de tablas independientes en función de su estado.
Especifique una expresión o una propiedad del resultado. La salida 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:
- Cadena Name (o Label) <>
- Cadena> de expresión <o <bloque de script>
- Cadena FormatString <>
Type: | Object |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-HideTableHeaders
Omite los encabezados de columna de la tabla.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Especifica los objetos a los que se va a dar formato. Especifique una variable que contenga los objetos o escriba un comando o una expresión que obtenga los objetos.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Property
Especifica las propiedades del objeto que aparecen en pantalla y el orden en que aparecen. Escriba uno o más nombres de propiedad (separados por comas) o use una tabla hash para mostrar una propiedad calculada. Se permiten los caracteres comodín.
Si omite este parámetro, las propiedades que aparecen en la pantalla dependen de las propiedades del primer objeto. Por ejemplo, si el primer objeto tiene PropertyA y PropertyB , pero los objetos posteriores tienen los encabezados PropertyA, PropertyB y PropertyC solo PropertyA y PropertyB .
El nombre del parámetro Property es opcional. No puede usar los parámetros Property y View 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:
- Cadena Name (o Label) <>
- Cadena> de expresión <o <bloque de script>
- Cadena FormatString <>
- Ancho <int32>
- Alineación (el valor puede ser "Left", "Center" o "Right")
Type: | Object[] |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-ShowError
Envía errores a través de la canalización. Este parámetro rara vez se usa, pero se puede usar como ayuda de depuración cuando se dan formato a expresiones en un Format-Table
comando y las expresiones no parecen funcionar.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-View
Especifica el nombre de un formato o vista de tabla alternativo. No puede usar los parámetros Property y View en el mismo comando.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Wrap
Muestra el texto que supera el ancho de columna en la línea siguiente. De forma predeterminada, el texto que supera el ancho de columna se trunca.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
Puede canalizar cualquier objeto a Format-Table
.
Salidas
Microsoft.PowerShell.Commands.Internal.Format
Format-Table
devuelve objetos de formato que representan la tabla.
Notas
El parámetro GroupBy supone que los objetos están ordenados. Use el Sort-Object
cmdlet antes de usar Format-Table
para agrupar los objetos.
El parámetro View permite especificar un formato alternativo para la tabla. Puede usar las vistas definidas en los *.format.PS1XML
archivos del directorio de PowerShell o puede crear sus propias vistas en nuevos archivos PS1XML y, a continuación, usar el Update-FormatData
cmdlet para incluirlas en PowerShell. Las vistas alternativas para el parámetro View deben usar el formato de tabla; de lo contrario, se produce un error en el comando.
Si la vista alternativa es una lista, use el Format-List
cmdlet . Si la vista alternativa no es una lista o una tabla, use el Format-Custom
cmdlet .