我正在编写一个脚本,它将等待在几次 Windows Server 重新启动后完成的任务。有一个 PowerShell 命令可以使用名为 Status 的字段来检查操作的状态。完成后,Status 的值为“Finished”。为什么这个代码片段不起作用,它不是不执行 while 循环,而是执行代码:
while ( (Get-WssConfigurationStatus | select Status) -ne "Finished" ) {
Write-Host "Waiting for WSS Configuration to complete"
sleep -seconds 60
}
如果您感兴趣的话,这是更广泛的 Packer 脚本的一部分,用于在 2012R2 上安装 Windows Server Essentials 角色。
提前致谢,Al
答案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" ) {