PowerShell Set-NetRoute
最后修改:2025 年 2 月 15 日
在本文中,我们将介绍PowerShell中的Set-NetRoute cmdlet。此cmdlet用于修改TCP/IP网络堆栈中现有的IP路由设置。
网络路由基础知识
网络路由定义了网络流量到达目标所经过的路径。路由包含目标前缀、下一跳和接口索引。Set-NetRoute cmdlet用于修改这些路由属性。它是PowerShell NetTCPIP模块的一部分。
Set-NetRoute 基本用法
使用Set-NetRoute的最简单方法是使用-DestinationPrefix和-NextHop参数。您必须指定要修改的路由。该cmdlet更改符合条件的现有路由的属性。
Set-NetRoute -DestinationPrefix "192.168.1.0/24" -NextHop "192.168.1.1" -Confirm:$false
此命令修改192.168.1.0/24网络的路由。它将下一跳设置为192.168.1.1。-Confirm:$false参数会抑制提示。
更改路由跃点数
当存在多个路由时,路由跃点数(metric)决定了路由的优先级。跃点数越低,优先级越高。您可以修改现有路由的跃点数。这会影响在有多个可用路径时流量的路由方式。
Set-NetRoute -DestinationPrefix "10.0.0.0/8" -InterfaceIndex 12 -RouteMetric 50
此命令将接口12上10.0.0.0/8网络的跃点数更改为50。较高的跃点数会使该路由的优先级低于其他替代路由。
修改多个路由
您可以使用管道输入一次修改多个路由。首先使用Get-NetRoute检索路由,然后将其管道传输到Set-NetRoute。这允许基于筛选器进行批量修改。
Get-NetRoute -InterfaceIndex 12 | Set-NetRoute -RouteMetric 100
此命令将接口12上所有路由的跃点数更改为100。Get-NetRoute cmdlet检索路由,然后对其进行修改。
设置发布和存储属性
路由可以被发布(通告)和持久存储。-Publish参数控制路由通告。-Store参数决定更改是否在重启后仍然有效。
Set-NetRoute -DestinationPrefix "172.16.0.0/16" -Publish Yes -Store ActiveStore
此命令使172.16.0.0/16路由被通告并存储在活动配置中。如果没有-Store,该路由在重启后将不会保留。
修改路由策略
路由策略决定了路由的使用方式和优先级。-PolicyStore参数指定了应用更改的位置。您可以修改不同策略存储中的路由,例如ActiveStore或PersistentStore。
Set-NetRoute -DestinationPrefix "192.168.100.0/24" -NextHop "192.168.100.1" -PolicyStore PersistentStore
此命令修改持久存储中的路由,使其在重启后仍然存在。如果不将更改应用于ActiveStore,则更改不会立即生效。
来源
在本文中,我们介绍了PowerShell中的Set-NetRoute cmdlet。
作者
列出 所有 PowerShell 教程。