gpt4 book ai didi

powershell - 如何在不指定 InterfaceIndex 的情况下使用 New-NetRoute?

转载 作者:行者123 更新时间:2023-12-03 00:00:26 25 4
gpt4 key购买 nike

如您所知,我们可以通过以下方式在 Windows 中设置路由

route add xxx.xxx.xxx.xxx mask yyy.yyy.yyy.yyy zzz.zzz.zzz.zzz

操作系统决定使用哪个接口(interface)。现在,我想在 PowerShell 中使用以下命令执行此操作
New-NetRoute –DestinationPrefix "xxx.xxx.xxx.xxx/yy" –InterfaceIndex w –NextHop zzz.zzz.zzz.zzz

这里的问题是 InterfaceIndex在这里是强制性的,但我希望操作系统自己解决这个问题(就像在第一个命令中所做的那样)。我怎样才能做到这一点?

最佳答案

我自己从来没有玩过它,但是有一个 cmdlet 可以满足您正在寻找的目的。它被称为 Find-NetRoute ,它会找到最佳的本地 IP 地址和到达远程地址的最佳路由。该信息作为 NetIPAddress 对象和 NetRoute 对象返回。两者都应包含系统选择的索引。目前仅 Windows Server 2012 R2 和 Windows 8.1 支持此功能。

一个简单的用途是提供远程地址。以下代码会将 interfaceindex 返回到变量 $bestIndex 中,然后您可以将其与 New-NetRoute 一起使用

$bestIndex = Find-NetRoute -RemoteIPAddress "123.456.789.012" | select -first 1  -expandproperty interfaceindex

New-NetRoute –DestinationPrefix "xxx.xxx.xxx.xxx/yy" –InterfaceIndex $bestIndex –NextHop zzz.zzz.zzz.zzz

我鼓励您在我链接的 TechNet 页面上阅读更多内容。我通过阅读 New-NetRoute 的工作原理找到了它。

关于powershell - 如何在不指定 InterfaceIndex 的情况下使用 New-NetRoute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31269724/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com