start-sleepProgress.ps1
|
<#
.SYNOPSIS This function performs a sleep operation with progress. .DESCRIPTION This function performs a sleep operation with progress. .PARAMETER sleepString String to display in the status window. .PARAMETER sleepSeconds Seconds to sleep. .PARAMETER sleepID The sleep id for text display. .PARAMETER sleepParentID The status message parent ID for sub progress status. .OUTPUTS No return. .EXAMPLE start-sleepProgess -sleepString "String" -seconds Seconds #> Function start-sleepProgress { [cmdletbinding()] Param ( [Parameter(Mandatory = $true)] [string]$sleepString, [Parameter(Mandatory = $true)] [int]$sleepSeconds, [Parameter(Mandatory = $false)] [int]$sleepParentID=0, [Parameter(Mandatory = $false)] [int]$sleepID=0 ) out-logfile -string "Start Start-SleepProgress" if(($sleepId -eq 0)-and ($sleepParentID -eq 0)) { For ($i=$sleepSeconds; $i -gt 0; $i--) { Write-Progress -Activity $sleepString -SecondsRemaining $i Start-Sleep 1 } write-progress -activity $sleepString -Completed } else { For ($i=$sleepSeconds; $i -gt 0; $i--) { Write-Progress -Activity $sleepString -SecondsRemaining $i -Id $sleepID -ParentId $sleepParentID Start-Sleep 1 } Write-Progress -Activity $sleepString -Id $sleepID -ParentId $sleepParentID -Completed } out-logfile -string "End Start-SleepProgress" } |