You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

获取未启用复制的Hyper-V虚拟机列表的PowerShell脚本需求

获取未启用复制的Hyper-V虚拟机列表的PowerShell脚本需求

没问题,要找出未启用Hyper-V复制的虚拟机,核心思路就是对比所有虚拟机和已配置复制的虚拟机列表,筛选出不在复制列表里的那些。我给你写个简单直接的PowerShell脚本,你可以直接用,也能很方便地整合到你现有的监控/邮件通知脚本里:

# 1. 获取当前Hyper-V主机上的所有虚拟机
$allVirtualMachines = Get-VM

# 2. 获取已启用复制的虚拟机名称列表
$replicatedVMNames = Get-VMReplication | Select-Object -ExpandProperty Name

# 3. 筛选出未启用复制的虚拟机
$nonReplicatedVMs = $allVirtualMachines | Where-Object {
    $replicatedVMNames -notcontains $_.Name
}

# 4. 输出结果(可以根据需求调整显示的属性)
Write-Host "未启用Hyper-V复制的虚拟机列表:"
$nonReplicatedVMs | Select-Object Name, State, Status | Format-Table -AutoSize

# 可选:导出到CSV文件方便后续查看或邮件附件
# $nonReplicatedVMs | Select-Object Name, State, Status | Export-Csv -Path "D:\Monitoring\NonReplicatedVMs.csv" -NoTypeInformation

脚本说明:

  • Get-VM:获取本地Hyper-V主机上的全部虚拟机,如果你需要监控远程主机,加上-ComputerName "远程主机名"参数即可
  • Get-VMReplication:只返回已经配置了复制的虚拟机,我们提取它们的名称存入数组,方便后续对比
  • Where-Object:通过名称对比,筛选出不在已复制列表中的虚拟机
  • 最后输出的属性(Name/State/Status)可以根据你的需求修改,比如加上VMId或者Description

如果要把这部分逻辑整合到你现有的邮件通知脚本里,只需要把$nonReplicatedVMs的内容转换成邮件正文格式就行,比如把表格转换成HTML格式,或者直接用文本列表。

备注:内容来源于stack exchange,提问作者WishIWasACoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 13:34:38