$vmName = "vm01" $vm = Get-VM -Name $vmName -ErrorAction Stop $appurl = "https://www.say-tech.co.jp" while ($vm.State -eq "Running") { $ret = $null $ret = Invoke-WebRequest -Uri $appurl -UseBasicParsing -TimeoutSec 10 -ErrorAction SilentlyContinue if ($ret -ne $null -and $ret.StatusCode -eq 200) { Write-Host "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') app is online " -ForeGroundColor Green } else { Write-Host "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') app is Down. " -ForeGroundColor Red Write-Host "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') Restart VM ... " -ForeGroundColor Red #Restart-VM -Name $vm.Name -Force #Start-Sleep 60 $vm |Stop-VM -Force -ErrorAction Stop while($vm.Heartbeat -like "Ok*") {     Start-Sleep -Seconds 1 } $vm |Start-VM -ErrorAction Stop Start-Sleep -Seconds 2 while($vm.Heartbeat -notlike "Ok*") {     Start-Sleep -Seconds 1 } Write-Host "$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') VM Restarted." } Start-Sleep 60 }