Format-Table
Da formato a la salida como una tabla.
Sintaxis
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 columna.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | String |
Valores aceptados: | CoreOnly, EnumOnly, Both |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Force
Indica que el cmdlet dirige el cmdlet para mostrar toda la información de error. Use con el displayError
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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 <
Tipo: | Object |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-HideTableHeaders
Omite los encabezados de columna de la tabla.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | PSObject |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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 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
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")
Tipo: | Object[] |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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 comando Format-Table
y las expresiones no parecen funcionar.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-View
Especifica el nombre de un formato o vista de tabla alternativo. No se pueden usar los parámetros Property
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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.
Tipo: | SwitchParameter |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | 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 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
.