Format-Table
Da formato a la salida como una tabla.
Sintaxis
Default (valor predeterminado)
Format-Table
[[-Property] <Object[]>]
[-AutoSize]
[-HideTableHeaders]
[-Wrap]
[-GroupBy <Object>]
[-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>]
[<CommonParameters>]
Description
El cmdlet Format-Table 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
Ejemplos
Ejemplo 1: Formato del host de PowerShell
Este comando muestra información sobre el programa host para PowerShell en una tabla. De forma predeterminada, tienen formato en una lista.
Get-Host | Format-Table -AutoSize
El cmdlet Get-Host obtiene objetos que representan el host. El operador de canalización (|) pasa el objeto al cmdlet Format-Table. El cmdlet Format-Table 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 del 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 cmdlet Format-Table. 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 los procesos por fecha de inicio
Get-Process | Sort-Object starttime | Format-Table -View starttime
Este comando muestra información sobre los procesos del equipo en grupo en función de 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 de Get-Process al cmdlet Sort-Object, 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
El archivo DotNetTypes.format.ps1xml también contiene una vista de 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, Nombre y DependentServices. El cmdlet Get-Service obtiene todos los servicios del equipo. El operador de canalización (|) envía los resultados al cmdlet Format-Table, 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 de ejecución total de todos los procesos del Bloc de notas 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 cmdlet Get-Process 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 Get-Date, 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 cmdlet Get-WmiObject.
$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 cmdlet Get-WmiObject para obtener instancias de la clase Win32_Process WMI que describe todos los procesos del equipo Server01 denominados Notepad.exe.
El comando almacena la información del proceso en la variable $Processes.
El segundo comando usa un operador de canalización (|) para enviar la información del proceso en la variable $Processes al cmdlet Format-Table, que muestra el ProcessName y una nueva propiedad calculada.
El comando asigna el nombre de la nueva propiedad calculada, "Tiempo total de ejecución", a la etiqueta clave. El bloque de script que se asigna a la expresión clave calcula cuánto tiempo se ha ejecutado el proceso restando la fecha de creación del proceso a partir de la fecha actual. El cmdlet Get-Date obtiene la fecha actual. El método ConvertToDateTime de
Ejemplo 7: Solución de errores de formato
En los ejemplos siguientes se 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, la vista determina el tamaño y el número de columnas.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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 dan formato a expresiones en un comando Format-Table y las expresiones no parecen funcionar.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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 los objetos que admiten la interfaz ICollection (System.Collections). El valor predeterminado es EnumOnly. Los valores aceptables para este parámetro son:
- 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.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Valores aceptados: | CoreOnly, EnumOnly, Both |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Force
Indica que el cmdlet dirige el cmdlet para mostrar toda la información de error. Utilice con el parámetro DisplayError o ShowError. De forma predeterminada, cuando se escribe un objeto de error en las secuencias de error o de visualización, solo se muestra parte de la información de error.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-GroupBy
Especifica la salida ordenada en tablas independientes basadas en un valor de propiedad. Por ejemplo, puede usar GroupBy para enumerar servicios en tablas independientes en función de su estado.
Escriba una expresión o una propiedad de la salida. 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, use una tabla hash. Las claves válidas son:
- Nombre (o etiqueta) <cadena>
- Expresión <cadena> o <bloque de script>
- < de cadena formatString >
Propiedades de parámetro
| Tipo: | Object |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-HideTableHeaders
Omite los encabezados de columna de la tabla.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-InputObject
Especifica los objetos a los que se va a dar formato. Escriba una variable que contenga los objetos, o escriba un comando o expresión que obtenga los objetos.
Propiedades de parámetro
| Tipo: | PSObject |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | True |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Property
Especifica las propiedades del objeto que aparecen en la pantalla y el orden en que aparecen. Escriba uno o varios 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 PropertyA, PropertyB y PropertyC solo se mostrarán los encabezados PropertyA y PropertyB.
El nombre del parámetro Property es opcional. No se pueden usar los parámetros Property y View en un solo comando.
El valor del parámetro Property puede ser una nueva propiedad calculada. Para crear una propiedad calculada, use una tabla hash. Las claves válidas son:
- Nombre (o etiqueta) <cadena>
- Expresión <cadena> o <bloque de script>
- < de cadena formatString >
- Ancho <> int32
- Alineación (el valor puede ser "Left", "Center" o "Right")
Propiedades de parámetro
| Tipo: | Object[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | True |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | 0 |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-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 comando Format-Table y las expresiones no parecen funcionar.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-View
Especifica el nombre de un formato o vista de tabla alternativo. No se pueden usar los parámetros Property y View en un solo comando.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
Entradas
PSObject
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 cmdlet Sort-Object 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 archivos de *.format.PS1XML en el directorio de PowerShell o puede crear sus propias vistas en los nuevos archivos PS1XML y, a continuación, usar el cmdlet Update-FormatData para incluirlos 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 cmdlet Format-List. Si la vista alternativa no es una lista o una tabla, use el cmdlet Format-Custom.