我的网络上有一台计算机,我想自动配置代理设置。我的Windows计算机将充当代理服务器。
为此,我可以使用命令远程访问第一台计算机,并告诉它使用其IP地址连接到我的主计算机。这就像:
PS> remote-cmd 192.168.0.101 "set-proxy-address 192.168.0.100:8888"
其中192.168.0.101是我正在尝试配置的计算机,而192.168.0.100是我在同一网络上的Windows机器的IP地址。
然而,就自动化而言,我有多个网络适配器和多个IP地址。为了这个例子,假设我的Windows机器有这两个IP地址:
然而,目标机器只在192 ...网络上,所以我需要给它我的192 ... ip地址,而不是10 ... one,作为代理服务器。
如何编写脚本(最好使用Powershell,但是像C#一样兼容Powershell的东西也会让我开心),根据远程机器的IP地址及其使用的路由,将自动确定正确的代理地址应该通过?
答案 0 :(得分:2)
自Windows 10和Server 2012 R2起,Powershell似乎有一个Find-NetRoute
命令行开关。
$routeInfo = Find-NetRoute -RemoteIPAddress 192.168.0.101
成功时,$routeInfo[0]
是数据通过的接口,$routeInfo[1]
是与远程IP地址匹配的路由。