我有几次使用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
?
答案 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]
}