Format-Table
Formata a saída como uma tabela.
Sintaxe
Default (Predefinição)
Format-Table
[[-Property] <Object[]>]
[-AutoSize]
[-HideTableHeaders]
[-Wrap]
[-GroupBy <Object>]
[-View <string>]
[-ShowError]
[-DisplayError]
[-Force]
[-Expand <string>]
[-InputObject <psobject>]
[<CommonParameters>]
Description
O cmdlet Format-Table formata a saída de um comando como uma tabela com as propriedades selecionadas do objeto em cada coluna. O tipo de objeto determina o layout padrão e as propriedades que são exibidas em cada coluna, mas você pode usar o parâmetro Property para selecionar as propriedades que deseja ver.
Você também pode usar uma tabela de hash para adicionar propriedades calculadas a um objeto antes de exibi-lo e para especificar os cabeçalhos de coluna na tabela. Para adicionar uma propriedade calculada, use o parâmetro Property ou GroupBy.
Exemplos
Exemplo 1: Formatar host do PowerShell
Este comando exibe informações sobre o programa host do PowerShell em uma tabela. Por padrão, eles são formatados em uma lista.
Get-Host | Format-Table -AutoSize
O cmdlet Get-Host obtém objetos que representam o host. O operador de pipeline (|) passa o objeto para o cmdlet Format-Table. O cmdlet Format-Table formata os objetos em uma tabela. O parâmetro AutoSize ajusta as larguras das colunas para minimizar o truncamento.
Exemplo 2: Formatar processos por BasePriority
Este comando exibe os processos no computador em grupos com a mesma prioridade básica.
Get-Process | Sort-Object -Property basepriority | Format-Table -GroupBy basepriority -Wrap
O cmdlet Get-Process obtém objetos que representam cada processo no computador. O operador de pipeline (|) passa o objeto para o cmdlet Sort-Object, que classifica os objetos na ordem de sua prioridade base.
Outro operador de pipeline passa os resultados para o cmdlet Format-Table. O parâmetro GroupBy organiza os dados sobre os processos em grupos com base no valor de sua propriedade BasePriority. O parâmetro Wrap garante que os dados não sejam truncados.
Exemplo 3: Formatar processos por data de início
Get-Process | Sort-Object starttime | Format-Table -View starttime
Este comando exibe informações sobre os processos no computador em grupo com base na data de início do processo. Ele usa o cmdlet Get-Process para obter objetos que representam os processos no computador. O operador de pipeline (|) envia a saída de Get-Process para o cmdlet Sort-Object, que a classifica com base na propriedade StartTime. Outro operador de pipeline envia os resultados classificados para Format-Table.
O parâmetro View é usado para selecionar a exibição StartTime definida no arquivo DotNetTypes.format.ps1xml para objetos System.Diagnostics.Process, como aqueles retornados por Get-Process. Esta vista converte a
O arquivo
Exemplo 4: Formatar serviços
Get-Service | Format-Table -Property Name, DependentServices
Este comando exibe todos os serviços no computador em uma tabela com duas colunas, Name e DependentServices. O cmdlet Get-Service obtém todos os serviços no computador. O operador de pipeline (|) envia os resultados para o cmdlet Format-Table, que formata a saída em uma tabela.
O parâmetro Property especifica as propriedades que aparecem na tabela como colunas. O nome do parâmetro Property é opcional, portanto, você pode omiti-lo, por exemplo, Format-Table Name, DependentServices.
Name e DependentServices são apenas duas das propriedades dos objetos de serviço. Para exibir todas as propriedades, digite Get-Service | Get-Member -MemberType Properties.
Exemplo 5: Formatar um processo e calcular seu tempo de execução
Este comando mostra como usar uma propriedade calculada em uma tabela.
Get-Process Notepad | Format-Table ProcessName,
@{Label="TotalRunningTime"; Expression={(Get-Date) - $_.StartTime}}
O comando exibe uma tabela com o nome do processo e o tempo total de execução de todos os processos do Bloco de Notas no computador local. O tempo total de execução é calculado subtraindo a hora de início de cada processo da hora atual.
O comando usa o cmdlet Get-Process para obter todos os processos chamados Bloco de Notas no computador local.
O operador de pipeline (|) envia os resultados para Format-Table, que exibe uma tabela com duas colunas: ProcessName, uma propriedade padrão de processos, e TotalRunningTime, uma propriedade calculada.
A propriedade TotalRunningTime é especificada por uma tabela de hash com duas chaves, Label e Expression. O nome da propriedade é atribuído à chave Label. O cálculo é atribuído à chave Expression. A expressão obtém a propriedade StartTime de cada objeto de processo e a subtrai do resultado de um comando Get-Date, que obtém a data e hora atuais.
Exemplo 6: Formatar processos do Bloco de Notas
Esses comandos são semelhantes ao comando anterior, exceto que esses comandos usam o 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)}}
O primeiro comando usa o cmdlet Get-WmiObject para obter instâncias da classe WMI Win32_Process que descreve todos os processos no computador Server01 nomeados Notepad.exe.
O comando armazena as informações do processo na variável $Processes.
O segundo comando usa um operador de pipeline (|) para enviar as informações do processo na variável $Processes para o cmdlet Format-Table, que exibe o ProcessName e uma nova propriedade calculada.
O comando atribui o nome da nova propriedade calculada, "Total Running Time", à tecla Label. O bloco de script atribuído à chave Expression calcula há quanto tempo o processo está sendo executado, subtraindo a data de criação do processo da data atual. O cmdlet Get-Date obtém a data atual. O método ConvertToDateTime converte a propriedade CreationDate do objeto Win32_Process de um objeto WMI CIM_DATETIME para um objeto .NET DateTime que pode ser comparado com a saída de Get-Date. Em seguida, a data de criação convertida é subtraída da data atual. O resultado é o valor de Tempo Total de Execução.
Exemplo 7: Solução de problemas de erros de formato
Os exemplos a seguir mostram os resultados da adição dos parâmetros DisplayError ou ShowError com uma expressão.
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 o cmdlet ajusta o tamanho e o número de colunas com base na largura dos dados. Por padrão, o tamanho e o número da coluna são determinados pela visualização.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-DisplayError
Indica que o cmdlet exibe erros na linha de comando. Esse parâmetro raramente é usado, mas pode ser usado como um auxílio de depuração quando você está formatando expressões em um comando Format-Table e as expressões não parecem estar funcionando.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Expand
Especifica o formato do objeto de coleção, bem como os objetos na coleção. Este parâmetro foi projetado para formatar objetos que suportam a interface ICollection (System.Collections). O valor padrão é EnumOnly. Os valores aceitáveis para este parâmetro são:
- EnumOnly: Exibe as propriedades dos objetos na coleção.
- CoreOnly: Exibe as propriedades do objeto de coleção.
- Ambos: Exibe as propriedades do objeto de coleção e as propriedades dos objetos na coleção.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Valores aceites: | CoreOnly, EnumOnly, Both |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Force
Indica que o cmdlet direciona o cmdlet para exibir todas as informações de erro. Use o parâmetro "DisplayError" ou "ShowError". Por padrão, quando um objeto de erro é gravado nos fluxos de erro ou exibição, apenas algumas das informações de erro são exibidas.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-GroupBy
Especifica a saída classificada em tabelas separadas com base em um valor de propriedade. Por exemplo, você pode usar GroupBy para listar serviços em tabelas separadas com base em seu status.
Insira uma expressão ou uma propriedade da saída. A saída deve ser classificada antes de enviá-la para Format-Table.
O valor do parâmetro GroupBy pode ser uma nova propriedade calculada. Para criar uma propriedade calculada, use uma tabela de hash. As chaves válidas são:
- Nome (ou Rótulo) <cadeia de caracteres>
- Expressão <cadeia de caracteres> ou <bloco de script>
- Cadeia de caracteres FormatString <>
Propriedades dos parâmetros
| Tipo: | Object |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-HideTableHeaders
Omite os cabeçalhos de coluna da tabela.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-InputObject
Especifica os objetos a serem formatados. Insira uma variável que contenha os objetos ou digite um comando ou expressão que obtenha os objetos.
Propriedades dos parâmetros
| Tipo: | PSObject |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Property
Especifica as propriedades do objeto que aparecem na exibição e a ordem em que aparecem. Digite um ou mais nomes de propriedade (separados por vírgulas) ou use uma tabela de hash para exibir uma propriedade calculada. Curingas são permitidos.
Se você omitir esse parâmetro, as propriedades que aparecem na exibição dependerão das propriedades do primeiro objeto. Por exemplo, se o primeiro objeto tiver PropertyA e PropertyB, mas os objetos subsequentes tiverem PropertyA, PropertyB e PropertyC somente PropertyA e cabeçalhos de PropertyB serão exibidos.
O nome do parâmetro Property é opcional. Não é possível usar os parâmetros de propriedade e os parâmetros de visualização no mesmo comando.
O valor do parâmetro Property pode ser uma nova propriedade calculada. Para criar uma propriedade calculada, use uma tabela de hash. As chaves válidas são:
- Nome (ou Rótulo) <cadeia de caracteres>
- Expressão <cadeia de caracteres> ou <bloco de script>
- Cadeia de caracteres FormatString <>
- Largura <int32>
- Alinhamento (o valor pode ser "Esquerda", "Centro" ou "Direita")
Propriedades dos parâmetros
| Tipo: | Object[] |
| Default value: | None |
| Suporta carateres universais: | True |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | 0 |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-ShowError
Envia erros através do fluxo de processamento. Esse parâmetro raramente é usado, mas pode ser usado como um auxílio de depuração quando você está formatando expressões em um comando Format-Table e as expressões não parecem estar funcionando.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-View
Especifica o nome de um formato ou modo de exibição de tabela alternativo. Não é possível usar os parâmetros de propriedade e os parâmetros de visualização no mesmo comando.
Propriedades dos parâmetros
| Tipo: | String |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Wrap
Exibe texto que excede a largura da coluna na próxima linha. Por padrão, o texto que excede a largura da coluna é truncado.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
PSObject
Você pode canalizar qualquer objeto para Format-Table.
Saídas
Microsoft.PowerShell.Commands.Internal.Format
Format-Table retorna objetos de formato que representam a tabela.
Notas
O parâmetro GroupBy pressupõe que os objetos estão classificados. Use o cmdlet Sort-Object antes de usáFormat-Table para agrupar os objetos.
O parâmetro View permite especificar um formato alternativo para a tabela. Você pode usar os modos de exibição definidos nos arquivos *.format.PS1XML no diretório do PowerShell ou pode criar seus próprios modos de exibição em novos arquivos PS1XML e, em seguida, usar o cmdlet Update-FormatData para incluí-los no PowerShell. As exibições alternativas para o parâmetro View devem usar o formato de tabela, caso contrário, o comando falhará.
Se o modo de exibição alternativo for uma lista, use o cmdlet Format-List. Se o modo de exibição alternativo não for nem uma lista nem uma tabela, use o cmdlet Format-Custom.