Есть ли способ добавить индикатор выполнения типа Windows в скрипт powershell, выполняющий Dism? - PullRequest
0 голосов
/ 15 апреля 2019

Я пытаюсь добавить индикатор выполнения типа windows в скрипт powershell, выполняющий Dism.У меня возникли проблемы с win32_service.Кто-нибудь знает, как это сделать?

dism / Apply-Image /ImageFile:Z:\path\wim.wim / Index: 1 / ApplyDir: C: \

1 Ответ

0 голосов
/ 16 апреля 2019

Согласен с точкой Матиаса Р. Ессена.

Создание и использование индикаторов выполнения PowerShell хорошо документировано во встроенных файлах справки PowerShell и во всем Интернете. Вот статья о Goo с несколькими примерами, касающимися «Как создать индикатор выполнения PowerShell»

Автор предоставляет и показывает через GIF-изображения одного

For ($i=0; $i -le 100; $i++) {
    Start-Sleep -Milliseconds 20
    Write-Progress -Activity "Counting to 100" -Status "Current Count: $i" -PercentComplete $i -CurrentOperation "Counting ..."
}

и вложенные индикаторы выполнения.

For ($i=0; $i -le 100; $i++) {
    Start-Sleep -Milliseconds 1
    Write-Progress -Id 1 -Activity "First Write Progress" -Status "Current Count: $i" -PercentComplete $i -CurrentOperation "Counting ..."

    For ($j=0; $j -le 100; $j++) {
        Start-Sleep -Milliseconds 1
        Write-Progress -Id 2 -Activity "Second Write Progress" -Status "Current Count: $j" -PercentComplete $j -CurrentOperation "Counting ..."
    }
}

Кроме того, по какой причине вы используете WQL против встроенных командлетов PowerShell для просмотра служб?

Get-Service | Where-Object {$_.Status -eq "Running"}

А также, почему вы хотите для этого индикатор выполнения, поскольку возвращение происходит немедленно, а выводится только имя? Что вы можете просто сделать ...

(Get-Service | Where-Object {$_.Status -eq "Running"}).Name

или

Get-Service | Where-Object {$_.Status -eq "Running"} | Select-Object -Property Name

У каждого будет очень быстрое возвращение, что индикатор выполнения будет спорным, если вы намеренно не замедлите его с помощью командлета Start-Sleep, но для этого не должно быть особых причин.

Если вы ищете скрипт с индикатором выполнения для DISM. Смотрите это обсуждение и готовый образец здесь:

Создание индикатора выполнения графического интерфейса для DISM или ImageX

Принятым ответом является длинный блок кода, который слишком длинный для размещения здесь:

...