Powershell: Solicitação de recurso: adicionar colorização condicional ao comando Format-Table

Criado em 30 mai. 2017  ·  3Comentários  ·  Fonte: PowerShell/PowerShell

O comando Format-Table no PowerShell exibe objetos de maneira fundamentalmente semelhante às planilhas do Microsoft Excel. O Microsoft Excel fornece um recurso de formatação condicional que permite aos criadores de planilhas alterar o formato de exibição de uma célula, com base no valor do conteúdo da célula.

Seria muito bom se um usuário do PowerShell pudesse adicionar regras de formatação condicional às propriedades do objeto, usando o comando Format-Table . Dessa forma, digamos que você tenha um objeto com uma propriedade Status . Essa propriedade pode ser emitida como Green se seu valor for Success ou Red se o valor da propriedade for Failed .

Name   Status
----   ------
Step 1 Failed (Red)
Step 2 Success (Green)

Por exemplo, você pode adicionar um especificador de propriedade personalizada no comando Format-Table seguinte maneira:

Get-SomeObjects | Format-Table -Property Name, @{ Name = 'Status'; Color = 'Green'; Value = '^Success$' }

No PowerShell hoje, já temos uma sintaxe semelhante para construir "propriedades calculadas". Poderíamos aproveitar uma sintaxe semelhante para construir expressões coloridas em tabelas de dados. Esse recurso seria útil para construir painéis baseados em PowerShell e apresentar dados de uma maneira mais útil no console.

Saúde,
Trevor Sullivan

Issue-Enhancement WG-Engine

Comentários muito úteis

Idem para Format-Custom , Format-List e Format-Wide

Todos 3 comentários

Definitivamente, um aprimoramento futuro, mas concordo que seria incrível.

Idem para Format-Custom , Format-List e Format-Wide

Para quem deseja isso hoje, Ahmad Adel Gad ofereceu uma solução, Write-PSObject , no Centro de Script do TechNet. https://gallery.technet.microsoft.com/scriptcenter/Format-Table-Colors-in-e0a4beac

Para formatação condicional, consulte o exemplo 16B.01: Write-PSObject $servers -MatchMethod Exact -Column * -Value $false -ValueForeColor Red;

Há uma boa reflexão sobre as opções disponíveis neste CmdLet, então pode ser uma boa fonte de inspiração para este pedido de aprimoramento também.

Esta página foi útil?
0 / 5 - 0 avaliações