我们正在尝试在所有最终用户机器上添加静态路由,我们已经在计算机配置>策略> Windows 设置>脚本(启动/关闭)>启动下设置了一个 GPO 对象。
批处理文件中的命令是:route add 172.17.10.0 mask 255.255.0.0 172.16.12.100 -p
然后,我们重新启动/强制组策略更新,并且在命令行中运行“路由打印”时没有添加路由,但是通过命令行添加路由可以完美运行。
答案1
根据我找到的一些文档,
使用 -p 选项添加的路由存储在注册表中的以下项下:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip \Parameters\PersistentRoutes
也许您可以只使用组策略首选项直接在注册表中设置适当的条目?
答案2
我遇到了完全相同的问题,我的解决方案是你能想到的最简单的“如果不是最愚蠢的”事情。
要使用组策略使脚本正常工作,我所需要做的就是将整个命令添加到引号(“)内,因此命令 route add 172.17.10.0 mask 255.255.0.0 172.16.12.100 -p 应该是“route add 172.17.10.0 mask 255.255.0.0 172.16.12.100 -p”
同意 joeqwerty 关于修复子网或网络 ID 的评论。
答案3
我知道这是一个老问题,但我刚刚为我的小型子域部署“解决”了这个问题。我使用组策略首选项创建/更新了定期调用的计划任务%SystemDir%\route.exe add /p x.x.x.0 mask 255.255.255.0 y.y.y.y
,同时以特权用户身份运行。
如果我需要添加路线,我可以通过 GPO 向任务添加另一个执行操作,它最终会更新。如果我需要删除路线,我可以更改要运行的操作route.exe delete
。
route.exe
如果路线已经存在(删除不存在的路线也不会返回非零退出代码),因此计划任务似乎不会失败。
不完美,但足以满足我的需求。如果您想要更多控制(日志记录等),您可以随时安排批处理文件。
答案4
它应该是这种格式
route add -p 172.17.10.0 mask 255.255.255.0 172.16.12.100
或者
route add -p 172.17.0.0 mask 255.255.0.0 172.16.12.100