Skip to main content

Display status information to the user for long-running tasks. Provide status updates, use the Write-Progress cmdlet shown below.

##############################################################################
##
## Invoke-LongRunningOperation
##
## From Windows PowerShell Cookbook (O'Reilly)
## by Lee Holmes (http://www.leeholmes.com/guide)
##
##############################################################################
<#

.SYNOPSIS

    Demonstrates the functionality of the Write-Progress cmdlet

#>

Set-StrictMode -Version 3

$activity = "A long running operation"

#
## Initialize the long-running operation:
$status = "Initializing"
for($counter = 0; $counter -lt 100; $counter++)
{
    $currentOperation = "Initializing item $counter"
    Write-Progress $activity $status -PercentComplete $counter -CurrentOperation $currentOperation
    Start-Sleep -m 20
}

#
## Initialize the long-running operation:
$status = "Running"
for($counter = 0; $counter -lt 100; $counter++)
{
    $currentOperation = "Running task $counter"
    Write-Progress $activity $status -PercentComplete $counter -CurrentOperation $currentOperation
    Start-Sleep -m 20
}