如何以对象格式获取Test-cluster输出?

Sam*_*abu 5 powershell failover failovercluster

该命令Test-Cluster将输出生成为xml和htm文件。

$v = test-cluster -Node w16-sqlcA,w16-sqlcB -Include "Storage" -Force -Disk $csv -Verbose
Run Code Online (Sandbox Code Playgroud)

似乎获得详细结果的唯一方法是解析xml。我必须获取活动的名称及其结果,就像在下面的htm文件中显示的一样。

在此处输入图片说明

有内置的获取方式吗?(或者是否已经为测试集群结果编写了解析器?。我没有找到任何搜索)。请帮忙。

vbr*_*den 0

运行测试时,会在 C:\Windows\Cluster\Reports 中生成包含结果的 xml 文件

您可以使用此功能检查有多少测试具有特定结果状态

function Get-ClusterValidationResultCount
{
    param(
        [Parameter(Mandatory = $true)]
        [ValidateSet('Failed','Warning','Success','Not Applicable', 'Canceled')]
        [String]
        $Status
    )

    $validationFile = (Get-ChildItem C:\Windows\Cluster\Reports -Filter "Validation Data*.xml" | Select -First 1).FullName
    if ([string]::IsNullOrEmpty("$validationFile")) {
        throw "No validation xml found"
    }

    $results = Select-Xml -Path "$validationFile" -XPath "//ResultDescription" | Where-Object { $_.Node.Value."#cdata-section" -eq $Status }
    return $results.Count
}

Get-ClusterValidationResultCount -Status Failed 
Run Code Online (Sandbox Code Playgroud)