喜讯,自动监测hyper虚拟机状态脚本接近成功,有个小问题

查看 56|回复 1
作者:wjhhxl   
我一直想实现自动监测hyper虚拟机状态,如果出问题,就自动重启。
今天一个大神告诉了我一些代码,
见贴子 https://91ai.net/thread-1181480-1-1.html
我在他的基础上改了一下代码,
现在极限接近成功
代码如下
[ol]# 设置hyper虚拟机名称
$VMName = "ikuai"
# 设置关闭和重启间隔时间,为什么要设置这个时间,因为我想更稳妥点。
$RetryInterval = 5 # 单位为秒
ping -c 1 192.168.8.2 #虚拟机的局域网ip
if ( $? -ne 0){
Write-Host "$VMName 正常运行"
}
else{
Write-Host "$VMName 没有正常运行,正在强行关闭,重启"
Stop-VM -Name $VMName
Start-Sleep -Seconds $RetryInterval
Start-VM -Name $VMName
}[/ol]复制代码
现在说测试结果,
如果是ping IP 会出现奇怪的结果,反馈如下:
[ol]PS C:\Users\Administrator\Desktop> C:\Users\Administrator\Desktop\jiance.ps1
正在 Ping 192.168.8.2 具有 32 字节的数据:
来自 192.168.8.8 的回复: 无法访问目标主机。
来自 192.168.8.8 的回复: 无法访问目标主机。
来自 192.168.8.8 的回复: 无法访问目标主机。
来自 192.168.8.8 的回复: 无法访问目标主机。
192.168.8.2 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
ikuai 正常运行[/ol]复制代码
我测的是一个不存在的内网iP,所以只能显示未正常运行。
但是明明是ping 8.2
结果收到8.8的回复。
最后仍然显示正常运行。
如果把IP改成一个无法访问的网址,
则脚本完美运行。
但是我现在只能是 ping 内网ip
求高手指教。

正常运行, 无法访问, 代码

wjhhxl
OP
  
顺便问一下,
ping -c 1 192.168.8.2  
这个ping的结果 怎样不显示。
如果是 linux
可以在后面写上   > /dev/null 2>&1
但是在win系统,这样不行。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部