使用 Powershell 获取未启用复制的虚拟机列表?

使用 Powershell 获取未启用复制的虚拟机列表?

我想要监控我们 Hyper-V 上所有虚拟机的复制状态。

我们所有的虚拟机都进行了复制。当复制失败或虚拟机从复制中移除时,我想知道。我找到了以下链接:

https://www.experts-exchange.com/articles/33961/Monitoring-Hyper-V-and-Hyper-V-Replica.html

到这里,我的工作已经完成了 90%。我可以获得完整的复制详细信息并自动收到电子邮件。但只有一个问题:获取虚拟机复制信息仅提供已启用复制的所有虚拟机的状态。

我想要了解未启用复制的虚拟机列表

您能帮我使用 PS 脚本来生成该列表吗?

答案1

使用 ChatGPT 得到答案:

# Get all Hyper-V VMs
$vmList = Get-VM

# Output header
Write-Host "VM Name`tReplication Status"

# Iterate through each VM
foreach ($vm in $vmList) {
    $vmName = $vm.Name

    # Get replication status
    $replication = Get-VMReplication -VMName $vmName -ErrorAction SilentlyContinue

    if ($replication -eq $null) {
        $replicationStatus = "NOT REPLICATING"
    } else {
        $replicationStatus = $replication.ReplicationHealth
    }

    # Output VM name and replication status
    Write-Host "$vmName`t$replicationStatus"
}

相关内容