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
    }

}