¿Cómo obligar a PowerShell Format-Table implícito a repetir encabezados para la salida repetida?
Estoy tratando de repetir * nixwatch
funcionalidad proporcionada porjohnrizzo1 aquí.
function Watch {
[CmdletBinding(SupportsShouldProcess=$True,ConfirmImpact='High')]
param (
[Parameter(Mandatory=$False,
ValueFromPipeline=$True,
ValueFromPipelineByPropertyName=$True)]
[int]$n = 10,
[Parameter(Mandatory=$True,
ValueFromPipeline=$True,
ValueFromPipelineByPropertyName=$True)]
[string]$command
)
process {
$cmd = [scriptblock]::Create($command);
While($True) {
Clear-Host;
Write-Host "Command: " $command;
$cmd.Invoke();
sleep $n;
}
}
}
Export-ModuleMember -function Watch
watch -n 1 '$PSVersionTable.PSVersion'
El problema es que solo la primera ejecución muestra encabezados. Después de eso, se ve feo ya que los encabezados se eliminan de la salida:
Command: $PSVersionTable.PSVersion
5 0 10586 117
Por cierto, todas las demás soluciones de PS parawatch
en el enlace de arriba sufren el mismo problema.