﻿<?xml version="1.0" encoding="utf-8"?>
<PowerShellMetadata xmlns="http://schemas.microsoft.com/cmdlets-over-objects/2009/11">
  <Class ClassName="ROOT/StandardCimv2/MSFT_NetAdapterAdvancedPropertySettingData" ClassVersion="1.0.0">
    <Version>1.0</Version>
    <DefaultNoun>NetAdapterAdvancedProperty</DefaultNoun>
    <InstanceCmdlets>
      <GetCmdletParameters DefaultCmdletParameterSet="ByName">
        <QueryableProperties>
          <Property PropertyName="Name">
            <Type PSType ="string"/>
            <RegularQuery AllowGlobbing="true">
              <CmdletParameterMetadata PSName="Name" Position="0" Aliases="ifAlias InterfaceAlias" ValueFromPipelineByPropertyName="true" CmdletParameterSets="ByName ByNameDisplayName ByNameRegistryKeyword"/>
            </RegularQuery>
          </Property>
          <Property PropertyName="InterfaceDescription">
            <Type PSType ="string"/>
            <RegularQuery AllowGlobbing="true">
              <CmdletParameterMetadata PSName="InterfaceDescription" IsMandatory="true" Aliases="ifDesc InstanceID" CmdletParameterSets="ByInstanceID ByInstanceIDDisplayName ByInstanceIDKeyword"/>
            </RegularQuery>
          </Property>
          <Property PropertyName="DisplayName">
            <Type PSType ="string"/>
            <RegularQuery AllowGlobbing="true">
              <CmdletParameterMetadata PSName="DisplayName" Aliases="DispN" IsMandatory="true" ValueFromPipelineByPropertyName="true" CmdletParameterSets="ByNameDisplayName ByInstanceIDDisplayName"/>
            </RegularQuery>
          </Property>
          <Property PropertyName="RegistryKeyword">
            <Type PSType ="string"/>
            <RegularQuery AllowGlobbing="true">
              <CmdletParameterMetadata PSName="RegistryKeyword" Aliases="RegKey" IsMandatory="true" ValueFromPipelineByPropertyName="true" CmdletParameterSets="ByNameRegistryKeyword ByInstanceIDKeyword"/>
            </RegularQuery>
          </Property>
        </QueryableProperties>
        <QueryOptions>
          <Option OptionName="IncludeHidden">
            <Type PSType="System.Management.Automation.SwitchParameter"/>
          </Option>
          <Option OptionName="AllProperties">
            <Type PSType="System.Management.Automation.SwitchParameter"/>
          </Option>
        </QueryOptions>
      </GetCmdletParameters>
      <Cmdlet>
        <CmdletMetadata Verb="Set" ConfirmImpact="Medium"/>
        <Method MethodName="cim:ModifyInstance">
          <Parameters>
            <Parameter ParameterName="DisplayValue">
              <Type PSType="string"/>
              <CmdletParameterMetadata IsMandatory="false" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull/>
                <ValidateNotNullOrEmpty/>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="RegistryValue">
              <Type PSType="string[]"/>
              <CmdletParameterMetadata IsMandatory="false" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull/>
                <ValidateNotNullOrEmpty/>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="cim:OperationOption:NoRestart">
              <Type PSType="System.Management.Automation.SwitchParameter"/>
              <CmdletParameterMetadata PSName="NoRestart"/>
            </Parameter>
          </Parameters>
        </Method>
        <GetCmdletParameters DefaultCmdletParameterSet="ByName">
          <QueryableProperties>
            <Property PropertyName="Name">
              <Type PSType ="string"/>
              <RegularQuery AllowGlobbing="true">
                <CmdletParameterMetadata PSName="Name" Position="0" Aliases="ifAlias InterfaceAlias" ValueFromPipelineByPropertyName="true" CmdletParameterSets="ByName"/>
              </RegularQuery>
            </Property>
            <Property PropertyName="InterfaceDescription">
              <Type PSType ="string"/>
              <RegularQuery AllowGlobbing="true">
                <CmdletParameterMetadata PSName="InterfaceDescription" Aliases="ifDesc InstanceID" IsMandatory="true" CmdletParameterSets="ByInstanceID"/>
              </RegularQuery>
            </Property>
            <Property PropertyName="DisplayName">
              <Type PSType ="string"/>
              <RegularQuery AllowGlobbing="true">
                <CmdletParameterMetadata PSName="DisplayName" Aliases="DispN" ValueFromPipelineByPropertyName="true" CmdletParameterSets="ByName ByInstanceID"/>
              </RegularQuery>
            </Property>
            <Property PropertyName="RegistryKeyword">
              <Type PSType ="string"/>
              <RegularQuery AllowGlobbing="false">
                <CmdletParameterMetadata PSName="RegistryKeyword" Aliases="RegKey" ValueFromPipelineByPropertyName="true" CmdletParameterSets="ByName ByInstanceID"/>
              </RegularQuery>
            </Property>
          </QueryableProperties>
          <QueryOptions>
            <Option OptionName="IncludeHidden">
              <Type PSType="System.Management.Automation.SwitchParameter"/>
            </Option>
            <Option OptionName="AllProperties">
              <Type PSType="System.Management.Automation.SwitchParameter"/>
            </Option>
          </QueryOptions>
        </GetCmdletParameters>
      </Cmdlet>
      <Cmdlet>
        <CmdletMetadata Verb="Remove" ConfirmImpact="Medium"/>
        <Method MethodName="cim:DeleteInstance">
          <Parameters>
            <Parameter ParameterName="cim:OperationOption:NoRestart">
              <Type PSType="System.Management.Automation.SwitchParameter"/>
              <CmdletParameterMetadata PSName="NoRestart"/>
            </Parameter>
          </Parameters>
        </Method>
        <GetCmdletParameters DefaultCmdletParameterSet="ByName">
          <QueryableProperties>
            <Property PropertyName="Name">
              <Type PSType ="string"/>
              <RegularQuery AllowGlobbing="true">
                <CmdletParameterMetadata PSName="Name" Position="0" Aliases="ifAlias InterfaceAlias" ValueFromPipelineByPropertyName="true" CmdletParameterSets="ByName"/>
              </RegularQuery>
            </Property>
            <Property PropertyName="InterfaceDescription">
              <Type PSType ="string"/>
              <RegularQuery AllowGlobbing="true">
                <CmdletParameterMetadata PSName="InterfaceDescription" Aliases="ifDesc InstanceID" IsMandatory="true" CmdletParameterSets="ByInstanceID"/>
              </RegularQuery>
            </Property>
            <Property PropertyName="RegistryKeyword">
              <Type PSType ="string"/>
              <RegularQuery AllowGlobbing="false">
                <CmdletParameterMetadata PSName="RegistryKeyword" Aliases="RegKey" IsMandatory="true" ValueFromPipelineByPropertyName="true" CmdletParameterSets="ByName ByInstanceID"/>
              </RegularQuery>
            </Property>
          </QueryableProperties>
          <QueryOptions>
            <Option OptionName="IncludeHidden">
              <Type PSType="System.Management.Automation.SwitchParameter"/>
            </Option>
            <Option OptionName="AllProperties">
              <Type PSType="System.Management.Automation.SwitchParameter"/>
            </Option>
          </QueryOptions>
        </GetCmdletParameters>
      </Cmdlet>
      <Cmdlet>
       <CmdletMetadata Verb="Reset" ConfirmImpact="Medium"/>
        <Method MethodName="Reset">
          <Parameters>
            <Parameter ParameterName="cim:OperationOption:NoRestart">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata PSName="NoRestart" />
            </Parameter>
            <Parameter ParameterName="cim:OperationOption:PassThru">
              <Type PSType="System.Management.Automation.SwitchParameter" />
              <CmdletParameterMetadata PSName="PassThru" />
            </Parameter>
            <Parameter ParameterName="CmdletOutput">
              <Type PSType="Microsoft.Management.Infrastructure.CimInstance" />
              <CmdletOutputMetadata />
            </Parameter>
          </Parameters>
        </Method>
        <GetCmdletParameters DefaultCmdletParameterSet="ByName">
          <QueryableProperties>
            <Property PropertyName="Name">
              <Type PSType ="string"/>
              <RegularQuery AllowGlobbing="true">
                <CmdletParameterMetadata PSName="Name" Position="0" Aliases="ifAlias InterfaceAlias" ValueFromPipelineByPropertyName="true" CmdletParameterSets="ByName"/>
              </RegularQuery>
            </Property>
            <Property PropertyName="InterfaceDescription">
              <Type PSType ="string"/>
              <RegularQuery AllowGlobbing="true">
                <CmdletParameterMetadata PSName="InterfaceDescription" Aliases="ifDesc InstanceID" IsMandatory="true" CmdletParameterSets="ByInstanceID"/>
              </RegularQuery>
            </Property>
            <Property PropertyName="DisplayName">
              <Type PSType ="string"/>
              <RegularQuery AllowGlobbing="true">
                <CmdletParameterMetadata PSName="DisplayName" Aliases="DispN" IsMandatory="true" ValueFromPipelineByPropertyName="true" CmdletParameterSets="ByName ByInstanceID"/>
              </RegularQuery>
            </Property>
          </QueryableProperties>
          <QueryOptions>
            <Option OptionName="IncludeHidden">
              <Type PSType="System.Management.Automation.SwitchParameter"/>
            </Option>
          </QueryOptions>
        </GetCmdletParameters>
      </Cmdlet>
    </InstanceCmdlets>
    <StaticCmdlets>
      <Cmdlet>
        <CmdletMetadata Verb="New" DefaultCmdletParameterSet="Name" ConfirmImpact="Medium"/>
        <Method MethodName="cim:CreateInstance" CmdletParameterSet="InstanceID">
          <Parameters>
            <Parameter ParameterName="InterfaceDescription">
              <Type PSType="string"/>
              <CmdletParameterMetadata Aliases="ifDesc InstanceID" IsMandatory="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull/>
                <ValidateNotNullOrEmpty/>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="RegistryKeyword">
              <Type PSType="string"/>
              <CmdletParameterMetadata IsMandatory="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull/>
                <ValidateNotNullOrEmpty/>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="RegistryDataType">
              <Type PSType="NetAdapterAdvancedProperty.RegDataType"/>
              <CmdletParameterMetadata IsMandatory="false" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull/>
                <ValidateNotNullOrEmpty/>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="RegistryValue">
              <Type PSType="string[]"/>
              <CmdletParameterMetadata IsMandatory="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull/>
                <ValidateNotNullOrEmpty/>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="cim:OperationOption:NoRestart">
              <Type PSType="System.Management.Automation.SwitchParameter"/>
              <CmdletParameterMetadata PSName="NoRestart"/>
            </Parameter>
            <Parameter ParameterName="cim:OperationOption:IncludeHidden">
              <Type PSType="System.Management.Automation.SwitchParameter"/>
              <CmdletParameterMetadata PSName="IncludeHidden"/>
            </Parameter>
          </Parameters>
        </Method>
        <Method MethodName="cim:CreateInstance" CmdletParameterSet="Name">
          <Parameters>
            <Parameter ParameterName="Name">
              <Type PSType="string"/>
              <CmdletParameterMetadata Aliases="ifAlias InterfaceAlias" IsMandatory="true" Position="0" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull/>
                <ValidateNotNullOrEmpty/>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="RegistryKeyword">
              <Type PSType="string"/>
              <CmdletParameterMetadata IsMandatory="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull/>
                <ValidateNotNullOrEmpty/>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="RegistryDataType">
              <Type PSType="NetAdapterAdvancedProperty.RegDataType"/>
              <CmdletParameterMetadata IsMandatory="false" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull/>
                <ValidateNotNullOrEmpty/>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="RegistryValue">
              <Type PSType="string[]"/>
              <CmdletParameterMetadata IsMandatory="true" ValueFromPipelineByPropertyName="true">
                <ValidateNotNull/>
                <ValidateNotNullOrEmpty/>
              </CmdletParameterMetadata>
            </Parameter>
            <Parameter ParameterName="cim:OperationOption:NoRestart">
              <Type PSType="System.Management.Automation.SwitchParameter"/>
              <CmdletParameterMetadata PSName="NoRestart"/>
            </Parameter>
            <Parameter ParameterName="cim:OperationOption:IncludeHidden">
              <Type PSType="System.Management.Automation.SwitchParameter"/>
              <CmdletParameterMetadata PSName="IncludeHidden"/>
            </Parameter>
          </Parameters>
        </Method>
      </Cmdlet>
    </StaticCmdlets>
  </Class>
  <Enums>
    <Enum EnumName="NetAdapterAdvancedProperty.RegDataType" UnderlyingType="uint32">
      <Value Name="None" Value="0" />
      <Value Name="REG_SZ" Value="1" />
      <Value Name="REG_DWORD" Value="4" />
      <Value Name="REG_MULTI_SZ" Value="7" />
      <Value Name="REG_QWORD" Value="11" />
    </Enum>
  </Enums>
</PowerShellMetadata>
