全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 746|回复: 3
打印 上一主题 下一主题

使用PowerShell脚本检测Hyper-V虚拟机是否死机,自动重启虚机

[复制链接]
跳转到指定楼层
1#
发表于 2023-6-22 21:24:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我想问一下大家,有没有这样的脚本啊。
最近几天跑网心云x86,爱快经常死机,然后一直卡着,非要我手动重启。
网心云X86倒是没出问题,就是爱快出问题。

想问一下有没有这样的脚本,
自动检测Hyper-V虚拟机是否死机,并自动重启虚拟机?
2#
发表于 2023-6-22 21:41:09 | 只看该作者
你观察一下,小鸡死机的时候,tcping or ping小鸡有回应吗,没有回应就以ping为触发条件。
3#
发表于 2023-6-22 21:42:41 | 只看该作者
本帖最后由 快乐快乐的 于 2023-6-22 21:43 编辑

以下是一个PowerShell脚本示例,可以检测Hyper-V虚拟机是否死机,并自动重启虚机:

  1. # 设置变量
  2. $VMName = "MyVM"
  3. $RetryCount = 3
  4. $RetryInterval = 10 # 单位为秒

  5. # 循环检测虚机状态
  6. for ($i = 1; $i -le $RetryCount; $i++) {
  7.     $VMStatus = Get-VM -Name $VMName | Select-Object -ExpandProperty State
  8.     if ($VMStatus -eq "Running") {
  9.         Write-Host "虚机 $VMName 正在运行。"
  10.         break
  11.     }
  12.     elseif ($VMStatus -eq "Off") {
  13.         Write-Host "虚机 $VMName 已关闭。正在启动虚机..."
  14.         Start-VM -Name $VMName
  15.     }
  16.     elseif ($VMStatus -eq "Paused") {
  17.         Write-Host "虚机 $VMName 已暂停。正在恢复虚机..."
  18.         Resume-VM -Name $VMName
  19.     }
  20.     elseif ($VMStatus -eq "Saved") {
  21.         Write-Host "虚机 $VMName 已保存状态。正在恢复虚机..."
  22.         Start-VM -Name $VMName
  23.     }
  24.     elseif ($VMStatus -eq "Stopping") {
  25.         Write-Host "虚机 $VMName 正在关闭。"
  26.     }
  27.     elseif ($VMStatus -eq "Starting") {
  28.         Write-Host "虚机 $VMName 正在启动。"
  29.     }
  30.     elseif ($VMStatus -eq "Pausing") {
  31.         Write-Host "虚机 $VMName 正在暂停。"
  32.     }
  33.     elseif ($VMStatus -eq "Resuming") {
  34.         Write-Host "虚机 $VMName 正在恢复。"
  35.     }
  36.     else {
  37.         Write-Host "虚机 $VMName 状态未知。"
  38.     }
  39.     Start-Sleep -Seconds $RetryInterval
  40. }

  41. # 如果虚机仍未运行,则重启虚机
  42. if ($VMStatus -ne "Running") {
  43.     Write-Host "虚机 $VMName 未能成功启动。正在尝试重启虚机..."
  44.     Restart-VM -Name $VMName
  45. }
复制代码

4#
 楼主| 发表于 2023-6-22 23:18:40 | 只看该作者
快乐快乐的 发表于 2023-6-22 21:42
以下是一个PowerShell脚本示例,可以检测Hyper-V虚拟机是否死机,并自动重启虚机:

非常感谢,
做了简单修改
但还是有小问题,

见我的贴子
https://www.91ai.net/thread-1181510-1-1.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-6-16 02:14 , Processed in 0.060333 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表