Como passar o resultado do comando dentro do While Loop no PowerShell?

0

Estou escrevendo um script que aguardará a conclusão de uma tarefa que ocorrerá em algumas reinicializações do Windows Server. Existe um comando do PowerShell para verificar o status da operação com um campo chamado Status. Na conclusão, o valor do status é "Concluído". Por que esse trecho não funciona, em vez de não executar o loop while, ele executa o código:

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

Se você estiver interessado, isso faz parte de um script Packer mais amplo para instalar a função do Windows Server Essentials no 2012R2.

Obrigado antecipadamente, Al

    
por albal 19.05.2017 / 16:23

1 resposta

1

Este script de teste funciona aqui:

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

Então, mude sua primeira linha para:

while ( (Get-WssConfigurationStatus).Status -ne "Finished" ) {
    
por 19.05.2017 / 17:48

Tags