基于另一个cmdlet进度状态的Write-Progress

时间:2018-06-27 19:06:10

标签: powershell progress

我有几次使用Get-QADUser cmdlet的Powershell脚本。此cmdlet通过进度条报告进度。

所以,让我们考虑一下这个脚本,

$user = Get-QADUser "User1"
$user = Get-QADUser "User2"
$user = Get-QADUser "User3"
$user = Get-QADUser "User4"

如果我们认为每条语句占我脚本总执行时间的25%(不需要确切),我想根据这些cmdlet的进度Write-progress。换句话说,这将代表脚本的全局进度条。

因此,如果$user = Get-QADUser "User1"的进度为50%,我想报告约13%(25%的50%)。我的问题是,是否可以实时访问Get-QADUser进度。

他们是否可以基于Powershell中的第三方cmdlet调用Write-Progress -PercentComplete

1 个答案:

答案 0 :(得分:1)

$users_added = @()
$users = @('User1', 'User2', 'User3', 'User4')

Write-Progress -Activity 'Create User' -ID 1 -PercentComplete 0

for ($i = 0; $i -lt $users.count; $i++ ) {
    Write-Progress -Activity 'Create User' -ID 1 -PercentComplete $($i / $users.count * 100)
    $users_added += Get-QADUser $users[$i]
}