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
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.
Comentario más útil
Lo mismo ocurre con
Format-Custom
,Format-List
yFormat-Wide