PowerShell Commands

Set-NetIPInterface

Set-NetIPInterface [[-InterfaceAlias] <String[]>] [-AddressFamily <AddressFamily[]>] [-AdvertiseDefaultRoute{Disabled | Enabled}] [-AdvertisedRouterLifetime <TimeSpan>] [-Advertising {Disabled | Enabled}] [-AutomaticMetric{Disabled | Enabled}] [-BaseReachableTimeMs <UInt32>] [-CimSession <CimSession[]>] [-ClampMss {Disabled |Enabled}] [-CompartmentId <UInt32[]>] [-CurrentHopLimit <UInt32>] [-DadRetransmitTimeMs <UInt32>] [-DadTransmits<UInt32>] [-Dhcp {Disabled | Enabled}] [-DirectedMacWolPattern {Disabled | Enabled}] [-EcnMarking {Disabled |UseEct1 | UseEct0 | AppDecide}] [-ForceArpNdWolPattern {Disabled | Enabled}] [-Forwarding {Disabled | Enabled}][-IgnoreDefaultRoutes {Disabled | Enabled}] [-IncludeAllCompartments] [-InterfaceIndex <UInt32[]>][-InterfaceMetric <UInt32>] [-ManagedAddressConfiguration {Disabled | Enabled}] [-NeighborDiscoverySupported<NeighborDiscoverySupported[]>] [-NeighborUnreachabilityDetection {Disabled | Enabled}] [-NlMtuBytes <UInt32>][-OtherStatefulConfiguration {Disabled | Enabled}] [-PassThru] [-PolicyStore <String>] [-ReachableTime <UInt32[]>][-RetransmitTimeMs <UInt32>] [-RouterDiscovery {Disabled | Enabled | ControlledByDHCP}] [-ThrottleLimit <Int32>][-WeakHostReceive {Disabled | Enabled}] [-WeakHostSend {Disabled | Enabled}] [-Confirm] [-WhatIf][<CommonParameters>]
Set-NetIPInterface [-AdvertiseDefaultRoute {Disabled | Enabled}] [-AdvertisedRouterLifetime <TimeSpan>][-Advertising {Disabled | Enabled}] [-AutomaticMetric {Disabled | Enabled}] [-BaseReachableTimeMs <UInt32>][-CimSession <CimSession[]>] [-ClampMss {Disabled | Enabled}] [-CurrentHopLimit <UInt32>] [-DadRetransmitTimeMs<UInt32>] [-DadTransmits <UInt32>] [-Dhcp {Disabled | Enabled}] [-DirectedMacWolPattern {Disabled | Enabled}][-EcnMarking {Disabled | UseEct1 | UseEct0 | AppDecide}] [-ForceArpNdWolPattern {Disabled | Enabled}] [-Forwarding{Disabled | Enabled}] [-IgnoreDefaultRoutes {Disabled | Enabled}] [-InterfaceMetric <UInt32>][-ManagedAddressConfiguration {Disabled | Enabled}] [-NeighborUnreachabilityDetection {Disabled | Enabled}][-NlMtuBytes <UInt32>] [-OtherStatefulConfiguration {Disabled | Enabled}] [-PassThru] [-RetransmitTimeMs <UInt32>][-RouterDiscovery {Disabled | Enabled | ControlledByDHCP}] [-ThrottleLimit <Int32>] [-WeakHostReceive {Disabled |Enabled}] [-WeakHostSend {Disabled | Enabled}] [-Confirm] [-WhatIf] [<CommonParameters>]

The Set-NetIPInterface cmdlet modifies an IP interface, including Dynamic Host Configuration Protocol (DHCP), IPv6 neighbor discovery settings, router settings and Wake On LAN (WOL) settings.

If you do not specify any parameters, this cmdlet sets all of the IP interface properties on the computer, including virtual interfaces and loopback interfaces.

Parameters

-AddressFamily [<AddressFamily[]>]

Specifies an array of IP address families. The cmdlet modifies the IP interface that matches the families. The acceptable values for this parameter are:

-- IPv4 -- IPv6

-AdvertiseDefaultRoute [<AdvertiseDefaultRoute>]

Specifies the default router advertisement for an interface. This parameter value indicates whether the IP interface should advertise itself as a default router regardless of whether the node has a default route itself. This parameter is valid only for advertising interfaces. The acceptable values for this parameter are:

-- Enabled -- Disabled

-AdvertisedRouterLifetime [<TimeSpan>]

Specifies a lifetime, as a TimeSpan object, for a default route. This parameter value indicates the lifetime of default routes when advertising routes on the IP interface. The default value is 1800. This parameter is valid only for advertising interfaces. To obtain a TimeSpan object, use the New-TimeSpan cmdlet.

-Advertising [<Advertising>]

Specifies the router advertisement value for the IP interface. The acceptable values for this parameter are:

-- Enabled -- Disabled

The default value is Disabled.

-AutomaticMetric [<AutomaticMetric>]

Specifies the value for automatic metric calculation. Automatic metric determines whether TCP/IP automatically calculates a value for an interface metric that is based on the speed of the interface. The fastest interface has the lowest interface metric value. The acceptable values for this parameter are:

-- Enabled -- Disabled

-BaseReachableTimeMs [<UInt32>]

Specifies the base value for random reachable time, in milliseconds.

The default value is 30.

-CimSession [<CimSession[]>]

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

-ClampMss [<Microsoft.PowerShell.Cmdletization.GeneratedTypes.NetIPInterface.ClampMss>]

Specifies the MSS clamping value for the IP interface. This value determines if this IP interface clamps MSS on the forwarded TCP packets that are sent out of this interface. The acceptable values for this parameter are:

-- Enabled-- Disabled

-CompartmentId [<UInt32[]>]

Specifies an array of identifiers for network compartments in the protocol stack. By default, the cmdlet only sets Net IP interfaces in the default compartment. If you specify a value, the cmdlet sets any matching NetIPInterface in all compartments in this field.

-CurrentHopLimit [<UInt32>]

Specifies a hop limit. This parameter is the value that the IP interface writes in the hop limit field for IPv6, or the Time To Live (TTL) field for IPv4, in all outbound traffic. When forwarding a packet, routers decrement the hop limit, or TTL, by 1, and discard the packet when the hop limit reaches 0. The default is defined as DefaultHopLimit in the NetIPv4Protocol and NetIPv6Protocol objects. When this parameter value is set to 0, it uses this default.

-DadRetransmitTimeMs [<UInt32>]

Specifies a value for the time interval between neighbor solicitation messages.

-DadTransmits [<UInt32>]

Specifies a value for the number of consecutive messages sent while the network driver performs duplicate address detection.

-Dhcp [<Dhcp>]

Specifies the Dynamic Host Configuration Protocol (DHCP) value for an IP interface. This setting is persistent across reboots and only stored in the active policy store. Changes to the persistent store will have no effect. The acceptable values for this parameter are:

-- Enabled -- Disabled

The default value is Enabled.

-DirectedMacWolPattern [<DirectedMacWolPattern>]

Specifies the wake-up packet value for an IP interface. This parameter value determines if an IP interface is configured to wake up a computer with directed MAC packet patterns. The acceptable values for this parameter are:

-- Enabled

-- Disabled

The default value is Disabled.

-EcnMarking [<EcnMarking>]

Specifies the value for Explicit Congestion Notification (ECN) marking. This parameter value controls the specific ECN marking in the ECN field of the IP header. The acceptable values for this parameter are:

-- AppDecide. Allow an application or higher layer protocol, such as TCP, to decide how to apply ECN marking. In order for an application to fully control ECN capability value in the Network TCP setting must also be set to Enabled. -- Disabled. Disable the ECN marking on the IP interface. -- UseEct0. Mark all of the egress IP packets on the IP interface with the Ect0 bit set. -- UseEct1. Mark all of the egress IP packets on the IP interface with the Ect1 bit set.

The default value is AppDecide.

-ForceArpNdWolPattern [<ForceArpNdWolPattern>]

Specifies the Wake On LAN (WOL) value for the IP interface. This parameter value determines if an IP interface is configured to wake up a computer with Address Resolution Protocol (ARP) or Neighbor Discovery (ND) packet patterns. The default value is Disabled. The acceptable values for this parameter are:

-- Enabled -- Disabled

-Forwarding [<Forwarding>]

Specifies the packet forwarding value for the IP interface. This value determines if this IP interface forwards packets that arrive on this interface to other interfaces. The acceptable values for this parameter are:

-- Enabled -- Disabled

-IgnoreDefaultRoutes [<IgnoreDefaultRoutes>]

Specifies a value for Default Route advertisements. If you enable this setting, default routes will not be dynamically added to the routing table. The acceptable values for this parameter are:

-- Enabled -- Disabled

The default value is Disabled.

-IncludeAllCompartments [<SwitchParameter>]

Indicates that the cmdlet includes all non-default compartments.

-InterfaceAlias [<String[]>]

  • Accepts pipeline input ByPropertyName

Specifies an array of aliases of network interfaces. The cmdlet modifies IP interfaces that match the aliases.

-InterfaceIndex [<UInt32[]>]

  • Accepts pipeline input ByPropertyName

Specifies an array of indexes of network interfaces. The cmdlet modifies IP interfaces that match the indexes.

-InterfaceMetric [<UInt32>]

Specifies a metric for an IP interface. When routes are chosen, the overall metric used to determine the preference is the sum of the route metric and the interface metric. Typically, the interface metric gives preference to a particular interface, such as using wired if both wired and wireless are available. This parameter value uses the value generated by AutomaticMetric by default. If this parameter value is set, then the AutomaticMetric parameter is automatically disabled.

-ManagedAddressConfiguration [<ManagedAddressConfiguration>]

Specifies the value for managed address configuration. This parameter determines if an IP interface uses a stateful protocol, such as DHCP, to obtain an address. Setting this parameter has no effect on an interface that has router discovery enabled and advertising disabled. In that case, the parameter is controlled by router discovery. The acceptable values for this parameter are:

-- Enabled -- Disabled

-NeighborDiscoverySupported [<NeighborDiscoverySupported[]>]

Specifies an array of neighbor discovery values for the IP interface. The acceptable values for this parameter are:

-- Enabled -- Disabled

-NeighborUnreachabilityDetection [<NeighborUnreachabilityDetection>]

Specifies the value for Neighbor Unreachability Detection (NUD). Use this parameter to determine when a neighbor is no longer reachable.

The acceptable values for this parameter are:

-- Enabled -- Disabled

-NlMtuBytes [<UInt32>]

Specifies the network layer Maximum Transmission Unit (MTU) value, in bytes, for an IP interface. For IPv4 the minimum value is 576 bytes. For IPv6 the minimum is value is 1280 bytes. For both IPv4 and IPv6, the maximum value is 2^32-1 (4294967295). You cannot set values outside these ranges. If this parameter is set to 0, then it will remain unchanged and maintain its current value. The IP interface will not transmit packets larger than the maximum value.

-OtherStatefulConfiguration [<OtherStatefulConfiguration>]

Specifies the value for configuration other than addresses. This parameter determines if an IP interface uses a stateful protocol, such as DHCP, to obtain configuration information other than addresses. This parameter setting has no effect on an interface that has router discovery enabled and advertising disabled. In that case, the parameter is controlled by router discovery. The acceptable values for this parameter are:

-- Enabled -- Disabled

-PassThru [<SwitchParameter>]

Returns an object representing the item with which you are working. By default, this cmdlet does not generate any output.

-PolicyStore [<String>]

Specifies a PolicyStore value. The acceptable values for this parameter are:

-- ActiveStore. The IP address information is valid. -- PersistentStore. The computer saves IP address information across restarts. When the computer restarts, it copies the saved settings to the ActiveStore.

The default value is ActiveStore. Specify ActiveStore only.

If you do not specify this parameter, the default entries are created in both the ActiveStore and the PersistentStore.

-ReachableTime [<UInt32[]>]

Specifies an array of reachable time values. This parameter is the time, in milliseconds, that a node assumes that a neighbor is reachable after having received a reachability confirmation. This parameter works with the NeighborUnreachabilityDetection parameter.

-RetransmitTimeMs [<UInt32>]

Specifies a value for timeout and retransmission, in milliseconds, for Neighbor Solicitation messages.

-RouterDiscovery [<RouterDiscovery>]

Specifies the value for router discovery for an IP interface, The acceptable values for this parameter are:

-- ControlledByDHCP. DHCP determines if the IP Interface can be used by the computer to locate routers that reside on an attached link. -- Disabled: IP Interface will not be used by the computer to locate routers that reside on an attached link. -- Enabled. IP Interface can be used by the computer to locate routers that reside on an attached link.

By default, the value of this parameter is ControlledByDHCP for IPv4 and Enabled for IPv6. If the value of this parameter is enabled, an IP host can locate routers that reside on an attached link.

-ThrottleLimit [<Int32>]

Specifies the maximum number of concurrent operations that can be established to run the cmdlet. If this parameter is omitted or a value of 0 is entered, then Windows PowerShellr calculates an optimum throttle limit for the cmdlet based on the number of CIM cmdlets that are running on the computer. The throttle limit applies only to the current cmdlet, not to the session or to the computer.

-WeakHostReceive [<WeakHostReceive>]

Specifies the receive value for a weak host model. By default, interface properties set this parameter to disabled. If this parameter is enabled, an IP host can receive IP packets on an interface that is not assigned the destination IP address of the packet being received. The acceptable values for this parameter are:

-- Enabled -- Disabled

-WeakHostSend [<WeakHostSend>]

Specifies the send value for a weak host model. By default, interface properties set this parameter to disabled. If this parameter is enabled, an IP host can send IP packets on an interface that is not assigned the destination IP address of the packet being sent.The acceptable values for this parameter are:

-- Enabled -- Disabled

-Confirm [<SwitchParameter>]

  • Default value is false

Prompts you for confirmation before running the cmdlet.Prompts you for confirmation before running the cmdlet.

-WhatIf [<SwitchParameter>]

  • Default value is false

Shows what would happen if the cmdlet runs. The cmdlet is not run.Shows what would happen if the cmdlet runs. The cmdlet is not run.

<CommonParameters>

This cmdlet supports the common parameters: Verbose, Debug,ErrorAction, ErrorVariable, WarningAction, WarningVariable,OutBuffer, PipelineVariable, and OutVariable.

Inputs
Microsoft.Management.Infrastructure.CimInstance#root\StandardCimv2\MSFT_NetIPInterface
The Microsoft.Management.Infrastructure.CimInstance object is a wrapper class that displays Windows Management Instrumentation (WMI) objects. The path after the pound sign (#) provides the namespace and class name for the underlying WMI object.
Outputs
None
Examples
  1. Modify an interface by the index value:
    PS C:\> Set-NetIPInterface -InterfaceIndex 12 -Dhcp Disabled
    

    This command modifies an IP interface object by using the interface index value of 12. The command also disables DHCP on the interface.

  2. Modify the interface metrics:
    PS C:\> Get-NetAdapter | Where-Object -FilterScript {$_.LinkSpeed -Eq "100 Mbps"} | Set-NetIPInterface -InterfaceMetric 21
    

    This command modifies all of the network adapters on the computer with a link speed of 100 Mbps and sets the interface metric on them to 21.

This work is licensed under a Creative Commons Attribution 4.0 International. It is attributed to Microsoft Corporation and can be found here.

PowerShell Commands