Как передать результат команды в рамках While Loop в PowerShell?


0

Я пишу сценарий, который будет ждать завершения задачи, которая будет происходить после нескольких перезагрузок Windows Server. Существует команда PowerShell для проверки состояния операции с помощью поля «Состояние». По завершении значение статуса «Завершено». Почему этот фрагмент не работает, вместо того, чтобы не выполнять цикл while, он выполняет код:

while ( (Get-WssConfigurationStatus | select Status) -ne "Finished" ) {
  Write-Host "Waiting for WSS Configuration to complete"
  sleep -seconds 60
}

Если вам интересно, это часть более широкого сценария Packer для установки роли Windows Server Essentials на 2012R2.

Заранее спасибо, Ал

Ответы:


1

Этот тестовый скрипт работает здесь:

while ( (Get-Service audiosrv).Status -ne "Finished" ) {
  Write-Host (get-date) "Waiting for WSS Configuration to complete"
  sleep -seconds 60
}

Поэтому измените свою первую строку на:

while ( (Get-WssConfigurationStatus).Status -ne "Finished" ) {

Это работает отлично. Я забыл об этом конкретном синтаксисе. Спасибо, Аль
Албал
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.