Compartir a través de


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-ProcessSort-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

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 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 .