Powershell: Solicitud de función: agregar color condicional al comando Format-Table

Creado en 30 may. 2017  ·  3Comentarios  ·  Fuente: PowerShell/PowerShell

El comando Format-Table en PowerShell muestra los objetos de una manera fundamentalmente similar a las hojas de cálculo de Microsoft Excel. Microsoft Excel proporciona una función de formato condicional que permite a los creadores de hojas de cálculo cambiar el formato de visualización de una celda, según el valor del contenido de la celda.

Sería realmente genial si un usuario de PowerShell pudiera agregar reglas de formato condicional a las propiedades del objeto, usando el comando Format-Table . De esa manera, digamos que tiene un objeto con una propiedad Status . Esa propiedad podría emitirse como Green si su valor es Success o Red si el valor de la propiedad es Failed .

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

Por ejemplo, puede agregar un especificador de propiedad personalizada en el comando Format-Table siguiente manera:

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

En PowerShell hoy, ya tenemos una sintaxis similar para crear "propiedades calculadas". Podríamos aprovechar una sintaxis similar para crear expresiones coloreadas en tablas de datos. Esta capacidad sería útil para crear paneles basados ​​en PowerShell y presentar datos de una manera más útil en la consola.

Salud,
Trevor Sullivan

Issue-Enhancement WG-Engine

Comentario más útil

Lo mismo ocurre con Format-Custom , Format-List y Format-Wide

Todos 3 comentarios

Definitivamente una mejora futura, pero estoy de acuerdo en que sería increíble.

Lo mismo ocurre con Format-Custom , Format-List y Format-Wide

Para cualquiera que quiera esto hoy, Ahmad Adel Gad ha ofrecido una solución, Write-PSObject , en el Centro de scripts de TechNet. https://gallery.technet.microsoft.com/scriptcenter/Format-Table-Colors-in-e0a4beac

Para el formato condicional, consulte el ejemplo 16B.01: Write-PSObject $servers -MatchMethod Exact -Column * -Value $false -ValueForeColor Red;

Se han pensado muy bien las opciones disponibles en este CmdLet, por lo que también podría ser una buena fuente de inspiración para esta solicitud de mejora.

¿Fue útil esta página
0 / 5 - 0 calificaciones