Как создать индикатор выполнения с помощью powershell?
Я хочу захватить изображение с помощью этого метода
DISM.exe /capture-ffu /imagefile=e:\WinOEM.ffu /capturedrive=\\.\PhysicalDrive0 /name:disk0 /description:"Windows 10 FFU"
Возможно ли для меня создать графический интерфейс, такой как индикатор выполнения, пока он делает захват?
Я создал этот сценарий PowerShell, но не знаю, куда мне поместить эту команду
<pre>DISM.exe /capture-ffu /imagefile=e:\WinOEM.ffu /capturedrive=\\.\PhysicalDrive0 /name:disk0 /description:"Windows 10 FFU"
Спасибо за любой совет.
Что я уже пробовал:
Add-Type -assembly System.Windows.Forms ## -- Create The Progress-Bar $ObjForm = New-Object System.Windows.Forms.Form $ObjForm.Text = "Image Capturing" $ObjForm.WindowState = 'Maximized' $ObjForm.BackColor = "White" $ObjForm.FormBorderStyle = [System.Windows.Forms.FormBorderStyle]::FixedSingle $ObjForm.StartPosition = [System.Windows.Forms.FormStartPosition]::CenterScreen ## -- Create The Label $ObjLabel = New-Object System.Windows.Forms.Label $ObjLabel.Text = "Starting. Please wait ... " $ObjLabel.Left = 5 $ObjLabel.Top = 10 $ObjLabel.Width = 500 - 20 $ObjLabel.Height = 15 $ObjLabel.Font = "Tahoma" ## -- Add the label to the Form $ObjForm.Controls.Add($ObjLabel) $PB = New-Object System.Windows.Forms.ProgressBar $PB.Name = "PowerShellProgressBar" $PB.Value = 0 $PB.Style="Continuous" $System_Drawing_Size = New-Object System.Drawing.Size $System_Drawing_Size.Width = 700 - 40 $System_Drawing_Size.Height = 20 $PB.Size = $System_Drawing_Size $PB.Left = 5 $PB.Top = 40 $ObjForm.Controls.Add($PB) ## -- Show the Progress-Bar and Start The PowerShell Script $ObjForm.Show() | Out-Null $ObjForm.Focus() | Out-NUll $ObjLabel.Text = "Starting. Please wait ... " $ObjForm.Refresh() Start-Sleep -Seconds 1 ## -- Execute The PowerShell Code and Update the Status of the Progress-Bar $Result = & DISM.exe /capture-ffu /imagefile=E:\TEST\capture.ffu /capturedrive=\\.\PhysicalDrive0 /name:disk0 $Counter = 0 ForEach ($Item In $Result) { ## -- Calculate The Percentage Completed $Counter++ [Int]$Percentage = ($Counter/$Result.Count)*100 $PB.Value = $Percentage $ObjLabel.Text = "Capturing The Image" $ObjForm.Refresh() Start-Sleep -Milliseconds 150 # -- $Item.Name "`t" + $Item.Path } $ObjForm.Close() Write-Host "`n"