<?xml version="1.0" encoding="utf-8" ?>  
<Types>
    <Type>
        <Name>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Hgs/MSFT_HgsClientConfiguration</Name>
        <Members>
            <ScriptProperty>
                <Name>Mode</Name>
                <GetScriptBlock>
                    [Microsoft.Powershell.Cmdletization.GeneratedTypes.HgsClientConfiguration.Mode] ($this.PSBase.CimInstanceProperties['Mode'].Value)
                </GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>AttestationOperationMode</Name>
                <GetScriptBlock>                                        
                    [Microsoft.Powershell.Cmdletization.GeneratedTypes.HgsClientConfiguration.AttestationOperationMode] ($this.PSBase.CimInstanceProperties['AttestationOperationMode'].Value)
                </GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>AttestationStatus</Name>
                <GetScriptBlock>
                    [Microsoft.Powershell.Cmdletization.GeneratedTypes.HgsClientConfiguration.AttestationStatus] ($this.PSBase.CimInstanceProperties['AttestationStatus'].Value)
                </GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>AttestationSubstatus</Name>
                <GetScriptBlock>
                    [Microsoft.Powershell.Cmdletization.GeneratedTypes.HgsClientConfiguration.AttestationSubstatus] ($this.PSBase.CimInstanceProperties['AttestationSubstatus'].Value)
                </GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>IsFallbackInUse</Name>
                    <GetScriptBlock>
                         ($this.PSBase.CimInstanceProperties['AttestationServerUrl'].Value -and `
                          $this.PSBase.CimInstanceProperties['LastAttestationServerUrl'].Value -and `
                          $this.PSBase.CimInstanceProperties['LastAttestationServerUrl'].Value `
                           -ine $this.PSBase.CimInstanceProperties['AttestationServerUrl'].Value) `
                        -or `
                         ($this.PSBase.CimInstanceProperties['KeyProtectionServerUrl'].Value -and `
                          $this.PSBase.CimInstanceProperties['LastKeyProtectionServerUrl'].Value -and  `
                          $this.PSBase.CimInstanceProperties['LastKeyProtectionServerUrl'].Value `
                           -ine $this.PSBase.CimInstanceProperties['KeyProtectionServerUrl'].Value)
                    </GetScriptBlock>
            </ScriptProperty>
        </Members>
    </Type>
    <Type>
        <Name>Microsoft.Management.Infrastructure.CimInstance#ROOT/Microsoft/Windows/Hgs/MSFT_HgsGuardian</Name>
        <Members>
            <ScriptProperty>
                <Name>EncryptionCertificate</Name>
                <GetScriptBlock>
                    [OutputType([System.Security.Cryptography.X509Certificates.X509Certificate2])]
                    param()
                    [System.Security.Cryptography.X509Certificates.X509Certificate2]($this.PSBase.CimInstanceProperties['EncryptionCertificate'].Value)
                </GetScriptBlock>
            </ScriptProperty>
            <ScriptProperty>
                <Name>SigningCertificate</Name>
                <GetScriptBlock>
                    [OutputType([System.Security.Cryptography.X509Certificates.X509Certificate2])]
                    param()
                    [System.Security.Cryptography.X509Certificates.X509Certificate2]($this.PSBase.CimInstanceProperties['SigningCertificate'].Value)
                </GetScriptBlock>
            </ScriptProperty>
        </Members>
    </Type>
</Types>

