﻿<?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_DnsServerDnsSecZoneSetting" ClassVersion="1.0.0">
    <Version>1.0.0</Version>
    <DefaultNoun>DnsServerDnsSecZoneSetting</DefaultNoun>
    <StaticCmdlets>
      <Cmdlet>
	<CmdletMetadata Verb="Get" DefaultCmdletParameterSet="DnsSecSetting"/>
        <Method MethodName="Get" CmdletParameterSet="DnsSecSetting">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="ZoneName">
              <Type PSType="System.String[]" />
              <CmdletParameterMetadata 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="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#DnsServerDnsSecZoneSetting" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
	<Method MethodName="GetbySigningMetadata" CmdletParameterSet="SigningMetadata">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="ZoneName">
              <Type PSType="System.String[]" />
              <CmdletParameterMetadata 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="SigningMetadata">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata IsMandatory="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="IncludeKSKMetadata">
              <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#DnsServerZoneSigningMetadata" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Set" DefaultCmdletParameterSet="DnsSecSetting" ConfirmImpact="Medium" />
        <Method MethodName="Set" CmdletParameterSet="DnsSecSetting">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="ZoneName">
              <Type PSType="System.String" />
              <CmdletParameterMetadata IsMandatory="true" Position="1" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="DenialOfExistence">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Position="2" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>NSec</AllowedValue>
                  <AllowedValue>NSec3</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="NSec3HashAlgorithm">
              <Type PSType="System.String" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateSet>
                  <AllowedValue>RsaSha1</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="NSec3Iterations">
              <Type PSType="System.UInt16" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true" />
            </Parameter>
            <Parameter ParameterName="NSec3OptOut">
              <Type PSType="System.Boolean" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true" />
            </Parameter>
            <Parameter ParameterName="NSec3RandomSaltLength">
              <Type PSType="System.Byte" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true" />
            </Parameter>
            <Parameter ParameterName="NSec3UserSalt">
              <Type PSType="System.String" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateLength Min="1" Max="510" />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="DistributeTrustAnchor">
              <Type PSType="System.String[]" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>None</AllowedValue>
                  <AllowedValue>DnsKey</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="EnableRfc5011KeyRollover">
              <Type PSType="System.Boolean" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="DSRecordGenerationAlgorithm">
              <Type PSType="System.String[]" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>None</AllowedValue>
                  <AllowedValue>Sha1</AllowedValue>
                  <AllowedValue>Sha256</AllowedValue>
                  <AllowedValue>Sha384</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="DSRecordSetTtl">
              <Type PSType="System.TimeSpan" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="DnsKeyRecordSetTtl">
              <Type PSType="System.TimeSpan" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="SignatureInceptionOffset">
              <Type PSType="System.TimeSpan" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="SecureDelegationPollingPeriod">
              <Type PSType="System.TimeSpan" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="PropagationTime">
              <Type PSType="System.TimeSpan" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="ParentHasSecureDelegation">
              <Type PSType="System.Boolean" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <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="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance" ETSType="Microsoft.Management.Infrastructure.CimInstance#DnsServerDnsSecZoneSetting" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
        <Method MethodName="SetBySigningMetadata" CmdletParameterSet="SigningMetadata">
      <ReturnValue>
        <Type PSType="System.Int32" />
        <CmdletOutputMetadata>
          <ErrorCode />
        </CmdletOutputMetadata>
      </ReturnValue>
      <Parameters>
        <Parameter ParameterName="ZoneName">
          <Type PSType="System.String" />
          <CmdletParameterMetadata IsMandatory="true" Position="1" ValueFromPipelineByPropertyName="true">
            <ValidateNotNull />
            <ValidateNotNullOrEmpty />
          </CmdletParameterMetadata>
        </Parameter>
            <Parameter ParameterName="InputObject">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance" ETSType="Microsoft.Management.Infrastructure.CimInstance#DnsServerZoneSigningMetadata" />
              <CmdletParameterMetadata Position="2" ValueFromPipeline="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
        <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="CmdletOutput">
          <Type PSType="Microsoft.Management.Infrastructure.CimInstance" ETSType="Microsoft.Management.Infrastructure.CimInstance#DnsServerZoneSigningMetadata" />
          <CmdletOutputMetadata />
        </Parameter>
      </Parameters>
        </Method>        
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Test" />
        <Method MethodName="Test">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="ZoneName">
              <Type PSType="System.String" />
              <CmdletParameterMetadata 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="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance" ETSType="Microsoft.Management.Infrastructure.CimInstance#DnsServerZoneDnsSecValidationResult" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
    </StaticCmdlets>
  </Class>
</PowerShellMetadata>
