﻿<?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_DnsServerSigningKey" ClassVersion="1.0.0">
    <Version>1.0.0</Version>
    <DefaultNoun>DnsServerSigningKey</DefaultNoun>
    <StaticCmdlets>
      <Cmdlet>
        <CmdletMetadata Verb="Add" ConfirmImpact="Medium" />
        <Method MethodName="Add">
          <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="Type">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="KeyType" Position="2" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>KeySigningKey</AllowedValue>
                  <AllowedValue>ZoneSigningKey</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CryptoAlgorithm">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Position="3" 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="ComputerName">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="Cn">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="KeyLength">
              <Type PSType="System.UInt32" />
              <CmdletParameterMetadata Position="4" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="InitialRolloverOffset">
              <Type PSType="System.TimeSpan" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="DnsKeySignatureValidityPeriod">
              <Type PSType="System.TimeSpan" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="DSSignatureValidityPeriod">
              <Type PSType="System.TimeSpan" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="ZoneSignatureValidityPeriod">
              <Type PSType="System.TimeSpan" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="RolloverPeriod">
              <Type PSType="System.TimeSpan" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="ActiveKey">
              <Type PSType="System.String" />
              <CmdletParameterMetadata>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="StandbyKey">
              <Type PSType="System.String" />
              <CmdletParameterMetadata>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="NextKey">
              <Type PSType="System.String" />
              <CmdletParameterMetadata>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="KeyStorageProvider">
              <Type PSType="System.String" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="StoreKeysInAD">
              <Type PSType="System.Boolean" />
              <CmdletParameterMetadata 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#DnsServerSigningKey" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Get" />
        <Method MethodName="Get">
          <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="KeyId">
              <Type PSType="System.Guid[]" />
              <CmdletParameterMetadata Position="2" 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#DnsServerSigningKey" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Remove" ConfirmImpact="Medium" />
        <Method MethodName="Remove">
          <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="PassThru">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata>
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="KeyId">
              <Type PSType="System.Guid[]" />
              <CmdletParameterMetadata IsMandatory="true" Position="2" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Force">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata>
                <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#DnsServerSigningKey" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Set" ConfirmImpact="Medium" />
        <Method MethodName="Set">
          <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="RolloverPeriod">
              <Type PSType="System.TimeSpan" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="DnsKeySignatureValidityPeriod">
              <Type PSType="System.TimeSpan" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="DSSignatureValidityPeriod">
              <Type PSType="System.TimeSpan" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="ZoneSignatureValidityPeriod">
              <Type PSType="System.TimeSpan" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="KeyId">
              <Type PSType="System.Guid" />
              <CmdletParameterMetadata IsMandatory="true" Position="2" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="NextRolloverAction">
              <Type PSType="System.String" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>Normal</AllowedValue>
                  <AllowedValue>RevokeStandby</AllowedValue>
                  <AllowedValue>Retire</AllowedValue>
                </ValidateSet>
              </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#DnsServerSigningKey" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
    </StaticCmdlets>
  </Class>
</PowerShellMetadata>