Set-NetIPInterface

Modifies an IP interface.

Syntax

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

Description

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.

Examples

Example 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.

Example 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.

Parameters

-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

Type:AddressFamily[]
Accepted values:IPv4, IPv6
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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

Type:AdvertiseDefaultRoute
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AdvertisedRouterLifetime

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.

Type:TimeSpan
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Advertising

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

-- Enabled -- Disabled

The default value is Disabled.

Type:Advertising
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-AsJob

Runs the cmdlet as a background job. Use this parameter to run commands that take a long time to complete.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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

Type:AutomaticMetric
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-BaseReachableTimeMs

Specifies the base value for random reachable time, in milliseconds. For more information, see RFC 2461.

The default value is 30.

Type:UInt32
Aliases:BaseReachableTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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.

Type:CimSession[]
Aliases:Session
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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
Type:ClampMss
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CompartmentId

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.

Type:UInt32[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CurrentHopLimit

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.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DadRetransmitTimeMs

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

Type:UInt32
Aliases:DadRetransmitTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DadTransmits

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

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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.

Type:Dhcp
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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.

Type:DirectedMacWolPattern
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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.

Type:EcnMarking
Accepted values:Disabled, UseEct1, UseEct0, AppDecide
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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

Type:ForceArpNdWolPattern
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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

Type:Forwarding
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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.

Type:IgnoreDefaultRoutes
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IncludeAllCompartments

Indicates that the cmdlet includes all non-default compartments.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Specifies the input object that is used in a pipeline command.

Type:CimInstance[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InterfaceAlias

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

Type:String[]
Aliases:ifAlias
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-InterfaceIndex

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

Type:UInt32[]
Aliases:ifIndex
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-InterfaceMetric

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.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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

Type:ManagedAddressConfiguration
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NeighborDiscoverySupported

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

-- Enabled -- Disabled

Type:NeighborDiscoverySupported[]
Accepted values:No, Yes
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NeighborUnreachabilityDetection

Specifies the value for Neighbor Unreachability Detection (NUD). Use this parameter to determine when a neighbor is no longer reachable. For more information, see RFC 2461. For ActiveStore, you can modify the NUD from Disabled to Enabled, but modifying NUD from Enabled to Disabled for ActiveStore fails with an invalid parameter. For the PersistentStore, you can modify the NUD to either Enabled or Disabled, but you will have to restart the interface for the setting to take effect.

The acceptable values for this parameter are:

-- Enabled -- Disabled

Type:NeighborUnreachabilityDetection
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-NlMtuBytes

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.

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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

Type:OtherStatefulConfiguration
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PassThru

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-PolicyStore

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.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ReachableTime

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.

Type:UInt32[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RetransmitTimeMs

Specifies a value for timeout and retransmission, in milliseconds, for Neighbor Solicitation messages. For more information, see RetransTimer in RFC 2461. By default, the value is set to 1000.

Type:UInt32
Aliases:RetransmitTime
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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.

Type:RouterDiscovery
Accepted values:Disabled, Enabled, ControlledByDHCP
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ThrottleLimit

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 PowerShell® 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.

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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

Type:WeakHostReceive
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-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

Type:WeakHostSend
Accepted values:Disabled, Enabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Inputs

CimInstance

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