﻿<?xml version="1.0" encoding="utf-8"?>
<PowerShellMetadata xmlns="http://schemas.microsoft.com/cmdlets-over-objects/2009/11">
  <Class ClassName="root/Microsoft/Windows/DNS/PS_DnsServerTrustAnchor" ClassVersion="1.0.0">
    <Version>1.0.0</Version>
    <DefaultNoun>DnsServerTrustAnchor</DefaultNoun>
    <StaticCmdlets>
      <Cmdlet>
        <CmdletMetadata Verb="Add" DefaultCmdletParameterSet="DnsKey" ConfirmImpact="Medium" />
        <Method MethodName="AddByDnsKey" CmdletParameterSet="DnsKey">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="Name">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="TrustAnchorName" IsMandatory="true" Position="1" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
           <Parameter ParameterName="KeyProtocol">
              <Type PSType="System.String" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>DnsSec</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Base64Data">
              <Type PSType="System.String" />
              <CmdletParameterMetadata IsMandatory="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="ComputerName">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="Cn">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CryptoAlgorithm">
              <Type PSType="System.String" />
              <CmdletParameterMetadata IsMandatory="true" Position="2" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>RsaSha1</AllowedValue>
                  <AllowedValue>RsaSha256</AllowedValue>
                  <AllowedValue>RsaSha512</AllowedValue>
                  <AllowedValue>RsaSha1NSec3</AllowedValue>
                  <AllowedValue>ECDsaP256Sha256</AllowedValue>
                  <AllowedValue>ECDsaP384Sha384</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="PassThru">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata>
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance" ETSType="Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustAnchor" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
        <Method MethodName="AddByDS" CmdletParameterSet="DS">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="Name">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="TrustAnchorName" IsMandatory="true" Position="1" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="ComputerName">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="Cn">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="KeyTag">
              <Type PSType="System.UInt16" />
              <CmdletParameterMetadata IsMandatory="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="DigestType">
              <Type PSType="System.String" />
              <CmdletParameterMetadata IsMandatory="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>Sha1</AllowedValue>
                  <AllowedValue>Sha256</AllowedValue>
                  <AllowedValue>Sha384</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Digest">
              <Type PSType="System.String" />
              <CmdletParameterMetadata IsMandatory="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CryptoAlgorithm">
              <Type PSType="System.String" />
              <CmdletParameterMetadata IsMandatory="true" Position="2" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>RsaSha1</AllowedValue>
                  <AllowedValue>RsaSha256</AllowedValue>
                  <AllowedValue>RsaSha512</AllowedValue>
                  <AllowedValue>RsaSha1NSec3</AllowedValue>
                  <AllowedValue>ECDsaP256Sha256</AllowedValue>
                  <AllowedValue>ECDsaP384Sha384</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="PassThru">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata>
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance" ETSType="Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustAnchor" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
        <Method MethodName="AddByRoot" CmdletParameterSet="Root">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="ComputerName">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="Cn">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="PassThru">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata>
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Root">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata IsMandatory="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance" ETSType="Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustAnchor" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Get" />
        <Method MethodName="Get">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="ComputerName">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="Cn">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Name">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="TrustAnchorName" IsMandatory="true" Position="1" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustAnchor" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Import" DefaultCmdletParameterSet="KeySet" ConfirmImpact="Medium" />
        <Method MethodName="ImportByDSSet" CmdletParameterSet="DSSet">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="ComputerName">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="Cn">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="DSSetFile">
              <Type PSType="System.String" />
              <CmdletParameterMetadata IsMandatory="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="PassThru">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata>
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustAnchor" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
        <Method MethodName="ImportByKeySet" CmdletParameterSet="KeySet">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="ComputerName">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="Cn">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="KeySetFile">
              <Type PSType="System.String" />
              <CmdletParameterMetadata IsMandatory="true" Position="1" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="PassThru">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata>
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustAnchor" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Remove" DefaultCmdletParameterSet="Name" ConfirmImpact="Medium" />
        <Method MethodName="RemoveByInputObject" CmdletParameterSet="InputObject">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="ComputerName">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="Cn">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Force">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata>
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="PassThru">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata>
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="InputObject">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustAnchor" />
              <CmdletParameterMetadata IsMandatory="true" ValueFromPipeline="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustAnchor" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
        <Method MethodName="RemoveByName" CmdletParameterSet="Name">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="ComputerName">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="Cn">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Name">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="TrustAnchorName" IsMandatory="true" Position="1" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Type">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="TrustAnchorType" Position="2" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>DnsKey</AllowedValue>
                  <AllowedValue>DS</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Force">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata>
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="PassThru">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata>
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#DnsServerTrustAnchor" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
    </StaticCmdlets>
  </Class>
</PowerShellMetadata>