Write-Progress 基于另一个 cmdlet 进度状态
Write-Progress based on another cmdlet progress status
我有一个 Powershell 脚本多次使用 Get-QADUser cmdlet。此 cmdlet 使用进度条报告进度。
那么,让我们考虑一下这个脚本,
$user = Get-QADUser "User1"
$user = Get-QADUser "User2"
$user = Get-QADUser "User3"
$user = Get-QADUser "User4"
如果我们认为每个语句代表我的总脚本执行时间的 25%(无需精确),我想 Write-progress
基于这些 cmdlet 的进度。换句话说,这将代表脚本的全局进度条。
因此,如果 $user = Get-QADUser "User1"
进度为 50%,我想报告 ~13%(25% 的 50%)。我的问题是,如果有可能实时访问 Get-QADUser
进度,我不知道。
他们是基于 Powershell 中的第三方 cmdlet 调用 Write-Progress -PercentComplete
的方法吗?
$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]
}
我有一个 Powershell 脚本多次使用 Get-QADUser cmdlet。此 cmdlet 使用进度条报告进度。
那么,让我们考虑一下这个脚本,
$user = Get-QADUser "User1"
$user = Get-QADUser "User2"
$user = Get-QADUser "User3"
$user = Get-QADUser "User4"
如果我们认为每个语句代表我的总脚本执行时间的 25%(无需精确),我想 Write-progress
基于这些 cmdlet 的进度。换句话说,这将代表脚本的全局进度条。
因此,如果 $user = Get-QADUser "User1"
进度为 50%,我想报告 ~13%(25% 的 50%)。我的问题是,如果有可能实时访问 Get-QADUser
进度,我不知道。
他们是基于 Powershell 中的第三方 cmdlet 调用 Write-Progress -PercentComplete
的方法吗?
$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]
}