如何反序列化此 PowerShell 输出?

How do I deserialize this PowerShell output?

PS sss:\> $match.ApplicabilityCondition

<ApplicabilityRule ExpressionLanguage="Custom" Handler="{2DB70103-3DFB-4806-85B0-B27B561284BB}"><UpdateId>3a50171e-f09b-46fd-991c-ffa0c1fabcc6</UpdateId><CISource><Id>{7ABE2526-ED91-47AE-A989-275B4B2924FE}</Id><Version>188</Version></CISource><ProductId>704a0a4a-518f-4d69-9e03-10ba44198bd5</ProductId></ApplicabilityRule>

ApplicabilityCondition 是一个类似于 XML 的对象,作为 Get-CMSoftwareUpdate(SCCM 相关命令)的一部分返回。 ExpressionLanguage="Custom" 对我来说没有任何意义。有没有一种简单的方法可以引用显示的子属性?最终我试图获得 UpdateID.

我想你可以将其解析为 XML?

参见:

$xml = [xml]'<ApplicabilityRule ExpressionLanguage="Custom" Handler="{2DB70103-3DFB-4806-85B0-B27B561284BB}">
    <UpdateId>3a50171e-f09b-46fd-991c-ffa0c1fabcc6</UpdateId>
    <CISource>
        <Id>{7ABE2526-ED91-47AE-A989-275B4B2924FE}</Id>
        <Version>188</Version>
    </CISource>
    <ProductId>704a0a4a-518f-4d69-9e03-10ba44198bd5</ProductId>
</ApplicabilityRule>'

$xml.ChildNodes

Return:

ExpressionLanguage : Custom
Handler            : {2DB70103-3DFB-4806-85B0-B27B561284BB}
UpdateId           : 3a50171e-f09b-46fd-991c-ffa0c1fabcc6
CISource           : CISource
ProductId          : 704a0a4a-518f-4d69-9e03-10ba44198bd5