找回密码
 立即注册
查看: 152|回复: 2

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

[复制链接]

1898

主题

0

回帖

1898

积分

金牌会员

积分
1898
发表于 2023-6-22 22:38:11 | 显示全部楼层 |阅读模式
我想问一下大家,有没有这样的脚本啊。
最近几天跑网心云x86,爱快经常死机,然后一直卡着,非要我手动重启。
网心云X86倒是没出问题,就是爱快出问题。

想问一下有没有这样的脚本,
自动检测Hyper-V虚拟机是否死机,并自动重启虚拟机?
回复

使用道具 举报

0

主题

933

回帖

0

积分

新手上路

积分
0
发表于 2023-6-22 22:40:17 | 显示全部楼层
你观察一下,小鸡死机的时候,tcping or ping小鸡有回应吗,没有回应就以ping为触发条件。
回复 支持 反对

使用道具 举报

0

主题

947

回帖

0

积分

新手上路

积分
0
发表于 2023-6-22 22:42:00 | 显示全部楼层
以下是一个PowerShell脚本示例,可以检测Hyper-V虚拟机是否死机,并自动重启虚机:
  1. # 设置变量$VMName = "MyVM"$RetryCount = 3$RetryInterval = 10 # 单位为秒# 循环检测虚机状态for ($i = 1; $i -le $RetryCount; $i++) {    $VMStatus = Get-VM -Name $VMName | Select-Object -ExpandProperty State    if ($VMStatus -eq "Running") {        Write-Host "虚机 $VMName 正在运行。"        break    }    elseif ($VMStatus -eq "Off") {        Write-Host "虚机 $VMName 已关闭。正在启动虚机..."        Start-VM -Name $VMName    }    elseif ($VMStatus -eq "Paused") {        Write-Host "虚机 $VMName 已暂停。正在恢复虚机..."        Resume-VM -Name $VMName    }    elseif ($VMStatus -eq "Saved") {        Write-Host "虚机 $VMName 已保存状态。正在恢复虚机..."        Start-VM -Name $VMName    }    elseif ($VMStatus -eq "Stopping") {        Write-Host "虚机 $VMName 正在关闭。"    }    elseif ($VMStatus -eq "Starting") {        Write-Host "虚机 $VMName 正在启动。"    }    elseif ($VMStatus -eq "Pausing") {        Write-Host "虚机 $VMName 正在暂停。"    }    elseif ($VMStatus -eq "Resuming") {        Write-Host "虚机 $VMName 正在恢复。"    }    else {        Write-Host "虚机 $VMName 状态未知。"    }    Start-Sleep -Seconds $RetryInterval}# 如果虚机仍未运行,则重启虚机if ($VMStatus -ne "Running") {    Write-Host "虚机 $VMName 未能成功启动。正在尝试重启虚机..."    Restart-VM -Name $VMName}
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|翻墙党

GMT+8, 2026-9-26 14:57 , Processed in 0.081077 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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