文本参数不适用于Powershell进度栏



在过去的半个小时里,我一直在四处寻找如何在Powershell中显示GUI ProgressBar中的文本,但我所尝试的一切都失败了。我甚至一直在参考微软的文档

我做错什么了吗?我该如何添加文本?

这不是我的完整脚本,也不是我将如何使用它——我只是做了一个例子,这样我就可以试着让它发挥作用

Add-Type -AssemblyName System.Windows.Forms
Add-Type -AssemblyName System.Drawing
$form = New-Object System.Windows.Forms.Form
$form.Size = '500,300'
$form.StartPosition = 'CenterScreen'
$form.Topmost = $true
$computerList = 'server01', 'server02', 'server03', 'server04', 'server05', 'server06', 'server07', 'server08', 'server09', 'server10'
$progressbar1 = New-Object System.Windows.Forms.ProgressBar
$progressbar1.Size = '300, 20'
$progressbar1.Location = '20,60'
$progressbar1.Text = "Processing..."
$progressbar1.Maximum = $computerList.Count
$progressbar1.Step = 1
$progressbar1.Value = 0
foreach ($computer in $computerList){    
$progressbar1.PerformStep()
}
$form.Controls.Add($progressbar1)
$form.ShowDialog()

我想最简单的方法是在进度条上方有一个Label控件,并更新其中的文本:

$progressLabel = New-Object System.Windows.Forms.Label
$progressLabel.Size = '300, 20'
$progressLabel.Location = '20,40'
$progressLabel.Text = "Processing..."
$form.Controls.Add($progressLabel)
foreach ($computer in $computerList){  
$progressLabel.Text = "Doing stuff on computer '$computer'.."  
$progressbar1.PerformStep()
# perform your action on $computer here
}

最新更新