多年来,我一直在成功使用 ICS,但现在我正在寻找一种方法来控制它别的比 GUI控制面板\网络和 Internet\网络连接 -> 连接属性:
我想完成带圆圈的复选框所做的所有操作,甚至更多,而无需触及任何 GUI。这引出了以下子问题:
复选框起什么作用?
微软没有提供具体信息,最有帮助的论坛帖子我发现它是 2003 年的。假设其中一些建议仍然有效,我得出的结论是 ICS 分为 6 个部分,必须单独设置:
- 共享访问服务
- 界面设置
- 防火墙规则
- 静态路由
- 代理服务器
- 自动 DHCP
我已经了解到可以使用以下命令启动/停止该服务网络启动/停止共享访问然后网络管理员是一款用于更改接口设置和防火墙规则的好工具。但我不明白 ICS 如何处理路由和 DNS。我的网络中的所有主机都是静态配置的,所以我不太关心 autodhcp。
感谢您的帮助!
编辑:我花了一天时间按照 Randolph West 的建议分析了 ProcMon 中的输出。我看到了对注册表和文件系统的读写操作,我很难理解这一切到底意味着什么——除了调用了一个 API。
答案1
我决定深入研究 Windows API 来寻找解决方案,并发现这,控制带圆圈按钮的接口!其他一切都可以用 netsh 控制。我编写了一个简单的 C++ 实用程序,它允许我在两个网络适配器之间启动/停止 ICS,设置“DNS 服务器 IN”防火墙规则的范围并设置 LAN 接口的 IP 地址。这就是我所需要的,我认为没有其他方法可以做到这一点。
我已将我的解决方案上传到sourceforge:https://sourceforge.net/p/icsctrl/