Как передать результат команды в рамках 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.

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

Albal
источник

Ответы:

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" ) {
LotPings
источник
Это работает отлично. Я забыл об этом конкретном синтаксисе. Спасибо, Аль
Албал