CmdLets/Watch-Process.ps1
|
Function Watch-Process { [CmdletBinding()] Param( [Parameter(Mandatory=$True)] $Process ) if ($Process) { $LastWrite = Get-Date $WriteEvery = 5 Do { if ((New-TimeSpan -Start $LastWrite -end (Get-Date)).Seconds -ge $WriteEvery) { $LastWrite = Get-Date Write-Host "`tProcess Running: $($Process.Name)" -ForegroundColor Yellow if ($WriteEvery -lt 30) { $WriteEvery++ } } Start-Sleep -Seconds 1 } while (Get-Process -id $Process.ID -ErrorAction SilentlyContinue) Write-Host "`tProcess Complete: $($Process.Name)" -ForegroundColor Green } else { Write-Host "`tProcess Complete:" -ForegroundColor Cyan } } |