﻿<?xml version="1.0" encoding="utf-8"?>
<PowerShellMetadata xmlns="http://schemas.microsoft.com/cmdlets-over-objects/2009/11">
  <Class ClassName="root/Microsoft/Windows/RemoteAccess/PS_IPFilter" ClassVersion="1.0">
    <Version>1.0</Version>
    <DefaultNoun>RemoteAccessIpFilter</DefaultNoun>
    <StaticCmdlets>
      <Cmdlet>
        <CmdletMetadata Verb="Add" ConfirmImpact="Medium" />
        <Method MethodName="Add">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="InterfaceAlias">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="Name" IsMandatory="true" Position="1" ValueFromPipeline="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Action">
              <Type PSType="RemoteAccessIpFilter.Action" />
              <CmdletParameterMetadata Aliases="FilterAction" IsMandatory="true" Position="4" ValueFromPipeline="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="List">
              <Type PSType="System.String[]" />
              <CmdletParameterMetadata IsMandatory="true" Position="5" ValueFromPipeline="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Direction">
              <Type PSType="RemoteAccessIpFilter.Direction" />
              <CmdletParameterMetadata IsMandatory="true" Position="3" ValueFromPipeline="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="PassThru">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata>
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="AddressFamily">
              <Type PSType="RemoteAccessIpFilter.AddressFamily" />
              <CmdletParameterMetadata IsMandatory="true" Position="2" ValueFromPipeline="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#InterfaceIpFilter" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Get" />
        <Method MethodName="Get">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="InterfaceAlias">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="Name" IsMandatory="true" Position="1" ValueFromPipeline="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Direction">
              <Type PSType="RemoteAccessIpFilter.Direction" />
              <CmdletParameterMetadata IsMandatory="true" Position="2" ValueFromPipeline="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#InterfaceIpFilter" />
              <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="InterfaceAlias">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="Name" IsMandatory="true" Position="1" ValueFromPipeline="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Direction">
              <Type PSType="RemoteAccessIpFilter.Direction" />
              <CmdletParameterMetadata IsMandatory="true" Position="3" ValueFromPipeline="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="List">
              <Type PSType="System.String[]" />
              <CmdletParameterMetadata IsMandatory="true" Position="4" ValueFromPipeline="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="PassThru">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata>
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Force">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata>
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="AddressFamily">
              <Type PSType="RemoteAccessIpFilter.AddressFamily" />
              <CmdletParameterMetadata IsMandatory="true" Position="2" ValueFromPipeline="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance[]" ETSType="Microsoft.Management.Infrastructure.CimInstance#InterfaceIpFilter" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Set" />
        <Method MethodName="Set">
          <ReturnValue>
            <Type PSType="System.Int32" />
            <CmdletOutputMetadata>
              <ErrorCode />
            </CmdletOutputMetadata>
          </ReturnValue>
          <Parameters>
            <Parameter ParameterName="Action">
              <Type PSType="RemoteAccessIpFilter.Action" />
              <CmdletParameterMetadata Aliases="FilterAction" IsMandatory="true" Position="4" ValueFromPipeline="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="Direction">
              <Type PSType="RemoteAccessIpFilter.Direction" />
              <CmdletParameterMetadata IsMandatory="true" Position="3" ValueFromPipeline="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="InterfaceAlias">
              <Type PSType="System.String" />
              <CmdletParameterMetadata Aliases="Name" IsMandatory="true" Position="1" ValueFromPipeline="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull />
                <ValidateNotNullOrEmpty />
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="AddressFamily">
              <Type PSType="RemoteAccessIpFilter.AddressFamily" />
              <CmdletParameterMetadata IsMandatory="true" Position="2" ValueFromPipeline="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#InterfaceIpFilter" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
    </StaticCmdlets>
  </Class>
  <Enums>
      <Enum EnumName="RemoteAccessIpFilter.Direction" UnderlyingType="System.UInt32">
          <Value Name="Inbound" Value="0" />
          <Value Name="OutBound" Value="1" />
      </Enum>
      <Enum EnumName="RemoteAccessIpFilter.Action" UnderlyingType="System.UInt32">
          <Value Name="Allow" Value="0" />
          <Value Name="Deny" Value="1" />
      </Enum>
      <Enum EnumName="RemoteAccessIpFilter.AddressFamily" UnderlyingType="System.UInt32">
          <Value Name="IPv4" Value="0" />
          <Value Name="IPv6" Value="1" />
      </Enum>
  </Enums>
</PowerShellMetadata>