I am trying to repeat *nix watch
functionality as provided by johnrizzo1 here.
function Watch {
[CmdletBinding(SupportsShouldProcess=$True,C
Most likely this has other issues but simply changing
$cmd.invoke();
to
$cmd.invoke() | ft;
works for me
This will work now, but your output is forced to be piped to Format-Table so it will always be in Table format.
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() | Format-Table -HideTableHeaders:$false
sleep $n
}
}
}
watch -n 1 '$PSVersionTable.PSVersion'