Set-NetVirtualizationProviderRoute

Updates the metric for a Provider Route.

Syntax

Set-NetVirtualizationProviderRoute
   [-InterfaceIndex <UInt32[]>]
   [-DestinationPrefix <String[]>]
   [-NextHop <String[]>]
   [-Metric <UInt32>]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [-PassThru]
   [<CommonParameters>]
Set-NetVirtualizationProviderRoute
   -InputObject <CimInstance[]>
   [-Metric <UInt32>]
   [-CimSession <CimSession[]>]
   [-ThrottleLimit <Int32>]
   [-AsJob]
   [-PassThru]
   [<CommonParameters>]

Description

The Set-NetVirtualizationProviderRoute cmdlet updates the route metric for a route in a Microsoft® Hyper-V® Server 2016 virtual network. Network Virtualization allows for more than one virtual network to exist on the same physical network. Computers can exchange network traffic with a virtual machine by using a Customer Address in the virtual network. Network Virtualization ranks possible Provider Routes by using the metric value. For more information, see Network Virtualization technical details on TechNet.

You can use the Get-NetVirtualizationProviderRoute cmdlet to get routes to update, or you can specify Provider Routes by using any combination of the following:

  • Destination
  • Interface
  • Next hop gateway

Examples

Example 1: Change a Provider Route metric

PS C:\> Set-NetVirtualizationProviderRoute -DestinationPrefix "0.0.0.0/0" -InterfaceIndex 17 -Metric 23 -NextHop "10.1.1.1"

This command specifies a Provider Route for the interface that has the index 17 by using the specified destination prefix and next hop gateway. The command resets the metric for this route to 23.

Example 2: Change a Provider Route metric for a subnet

PS C:\>Set-NetVirtualizationProviderRoute -DestinationPrefix "10.10.0.0/16" -InterfaceIndex 23 -Metric 2

This command specifies a Provider Route for the interface that has the index 23 and the destination prefix 10.10.0.0/16. The command changes the metric for this route to 2.

Parameters

-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

-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

-DestinationPrefix

Specifies an array of IP prefixes, as strings, for destination networks. You can specify IPv4 and IPv6 addresses. Use prefix notation: 0.0.0.0/0.

Type:String[]
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

-InterfaceIndex

Specifies an array of indexes for network interfaces that have Hyper-V Server 2016 Network Virtualization enabled.

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

-Metric

Specifies an integer value for the route. Network Virtualization selects the route that has the lowest metric value from a group of usable routes.

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

-NextHop

Specifies an array of IP addresses for next hop gateways.

Type:String[]
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

-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