powershell - 我的状态不会更新,它一直从以前的状态拉
问题描述
这是我的脚本,基本上它会刷新服务,一切正常,直到最后一次状态检查Start-Sleep 25
。它不断提取它收到的第一个状态(我在这个脚本中有几个检查状态,它使用第一个状态而不是重新检查它)。
例如,如果服务处于离线状态,它将使用第一次检查时获取的第一个离线状态,并在服务打开后显示。有什么方法可以让脚本重新检查状态并显示它而不是使用第一个?
$services = "RTCRGS"
$SvrName = 'CORPxxxx.xxxx.xxxx'
Get-Service -ComputerName $SvrName -Name $services | % {
Write-host "$($_.Name) on $SvrName is $($_.Status)"
if ($_.Status -eq 'stopped') {
Write-Host "Starting $($_.Name) in 5 sec..."
Start-Sleep 5
Write-Host "$($_.Name) is Starting, please wait..."
$_.Start()
Write-Host "Checking status of service, please wait for 25 sec..."
Start-Sleep 20
Write-Host "$($_.Name) on $SvrName is $($_.Status)"
} elseif ($_.Status -eq 'running') {
Write-Host "Restaring $($_.Name) in 5 sec..."
Start-Sleep 5
$_.Stop()
Start-Sleep 5
Write-Host "$($_.Name) is Starting, please wait..."
$_.Start()
Write-Host "Checking status of service, please wait for 25 sec..."
Start-Sleep 25
Write-Host "$($_.Name) on $SvrName is $($_.Status)"
}
}
解决方案
在 start-sleep 20 语句之后做一个新的 get-service 来刷新状态
推荐阅读
- vba - 运行时错误 3032,无法执行此操作 ms-access
- visual-studio - cvLoadImage 未定义,但其他函数工作正常
- amazon-mws - 亚马逊开发者 ID
- optimization - 如何最大化大于 32 位的 var int?
- react-native - 如何在本机反应中获取可滑动手势值
- python - 用于识别不同日期格式的正则表达式
- matlab - 在循环中将大值分配给 4D 矩阵时如何提高性能?
- augmented-reality - 有没有办法从 Vuforia 检测身体部位?
- python - 无法使用烧瓶将数据库加载到 Web 框架
- angular - 如何在 Angular 应用程序中使用两个 Firebase 数据库