﻿<?xml version="1.0" encoding="utf-8"?>
<PowerShellMetadata xmlns="http://schemas.microsoft.com/cmdlets-over-objects/2009/11">
  <Class ClassName="root/Microsoft/Windows/DHCP/PS_DhcpServerv4Lease" ClassVersion="1.0.0">
    <Version>1.0.0</Version>
    <DefaultNoun>DhcpServerv4Lease</DefaultNoun>
    <StaticCmdlets>
      <Cmdlet>
        <CmdletMetadata Verb="Add" ConfirmImpact="Medium" />
        <Method MethodName="Add">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="IPAddress">
              <Type PSType="System.Net.IPAddress" />
              <CmdletParameterMetadata IsMandatory="true" Position="2" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="ScopeId">
              <Type PSType="System.Net.IPAddress" />
              <CmdletParameterMetadata IsMandatory="true" Position="1" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="ClientId">
              <Type PSType="System.String" />
              <CmdletParameterMetadata IsMandatory="true" Position="3" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="AddressState">
              <Type PSType="System.String" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>Active</AllowedValue>
                  <AllowedValue>Declined</AllowedValue>
                  <AllowedValue>Expired</AllowedValue>
                  <AllowedValue>ActiveReservation</AllowedValue>
                  <AllowedValue>InactiveReservation</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="HostName">
              <Type PSType="System.String" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <AllowNull />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Description">
              <Type PSType="System.String" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true" />
            </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="DnsRR">
              <Type PSType="System.String" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>A</AllowedValue>
                  <AllowedValue>PTR</AllowedValue>
                  <AllowedValue>AandPTR</AllowedValue>
                  <AllowedValue>NoRegistration</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="DnsRegistration">
              <Type PSType="System.String" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>Complete</AllowedValue>
                  <AllowedValue>Pending</AllowedValue>
                  <AllowedValue>NotApplicable</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="ClientType">
              <Type PSType="System.String" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>UnSpecified</AllowedValue>
                  <AllowedValue>Dhcp</AllowedValue>
                  <AllowedValue>BootP</AllowedValue>
                  <AllowedValue>None</AllowedValue>
                  <AllowedValue>Both</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="LeaseExpiryTime">
              <Type PSType="Nullable[System.DateTime]" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="NapCapable">
              <Type PSType="System.Boolean" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="NapStatus">
              <Type PSType="System.String" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
                <ValidateSet>
                  <AllowedValue>FullAccess</AllowedValue>
                  <AllowedValue>RestrictedAccess</AllowedValue>
                  <AllowedValue>DropPacket</AllowedValue>
                  <AllowedValue>InProbation</AllowedValue>
                  <AllowedValue>Exempt</AllowedValue>
                  <AllowedValue>DefaultQuarantineSetting</AllowedValue>
                  <AllowedValue>NoQuarantineInfo</AllowedValue>
                </ValidateSet>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="ProbationEnds">
              <Type PSType="Nullable[System.DateTime]" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="PolicyName">
              <Type PSType="System.String" />
              <CmdletParameterMetadata ValueFromPipelineByPropertyName="true">
                <AllowNull />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance" ETSType="Microsoft.Management.Infrastructure.CimInstance#DhcpServerv4Lease" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Get" DefaultCmdletParameterSet="ScopeId" />
        <Method MethodName="GetByBadLeases" CmdletParameterSet="BadLeases">
          <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="BadLeases">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata IsMandatory="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="ScopeId">
              <Type PSType="System.Net.IPAddress" />
              <CmdletParameterMetadata Position="1" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#DhcpServerv4Lease" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
        <Method MethodName="GetByClientId" CmdletParameterSet="ClientId">
          <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="ClientId">
              <Type PSType="System.String[]" />
              <CmdletParameterMetadata IsMandatory="true" Position="2" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="ScopeId">
              <Type PSType="System.Net.IPAddress" />
              <CmdletParameterMetadata IsMandatory="true" Position="1" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#DhcpServerv4Lease" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
        <Method MethodName="GetByIPAddress" CmdletParameterSet="IPAddress">
          <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="IPAddress">
              <Type PSType="System.Net.IPAddress[]" />
              <CmdletParameterMetadata IsMandatory="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#DhcpServerv4Lease" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
        <Method MethodName="GetByScopeId" CmdletParameterSet="ScopeId">
          <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="ScopeId">
              <Type PSType="System.Net.IPAddress" />
              <CmdletParameterMetadata IsMandatory="true" Position="1" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="AllLeases">
              <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#DhcpServerv4Lease" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Remove" DefaultCmdletParameterSet="IPAddress" ConfirmImpact="Medium" />
        <Method MethodName="RemoveByBadLeases" CmdletParameterSet="BadLeases">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="PassThru">
              <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="BadLeases">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata IsMandatory="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="ScopeId">
              <Type PSType="System.Net.IPAddress" />
              <CmdletParameterMetadata Position="1" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#DhcpServerv4Lease" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
        <Method MethodName="RemoveByClientId" CmdletParameterSet="ClientId">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="PassThru">
              <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="ClientId">
              <Type PSType="System.String[]" />
              <CmdletParameterMetadata IsMandatory="true" Position="2" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="ScopeId">
              <Type PSType="System.Net.IPAddress" />
              <CmdletParameterMetadata IsMandatory="true" Position="1" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#DhcpServerv4Lease" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
        <Method MethodName="RemoveByIPAddress" CmdletParameterSet="IPAddress">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="PassThru">
              <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="IPAddress">
              <Type PSType="System.Net.IPAddress[]" />
              <CmdletParameterMetadata IsMandatory="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#DhcpServerv4Lease" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
        <Method MethodName="RemoveByScopeId" CmdletParameterSet="ScopeId">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="PassThru">
              <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="ScopeId">
              <Type PSType="System.Net.IPAddress" />
              <CmdletParameterMetadata IsMandatory="true" Position="1" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#DhcpServerv4Lease" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
    </StaticCmdlets>
  </Class>
</PowerShellMetadata>