【发布时间】:2012-09-06 07:17:56
【问题描述】:
我可以通过右键单击网络连接、打开“共享”选项卡、单击“允许其他网络用户通过此计算机的 Internet 连接进行连接”复选框并选择“家庭网络连接”来手动完成。
在解决这个问题时,我发现了多组 COM 接口:
1) Internet Connection Sharing and Internet Connection Firewall Interfaces 与 INetSharingManager
它的文档说:
Internet 连接防火墙可能已更改或在 后续版本。相反,请使用 Windows 防火墙 API。
此外,INetSharingConfiguration.EnableSharing 方法看起来并不对应上述过程,因为它的参数不包括“家庭网络连接”。
2)Windows Firewall for Windows XP with SP2 Interfaces
它的文档进一步引用了我们:
对于 Windows Vista 及更高版本,使用高级 Windows 防火墙 推荐使用安全 API。
3)Windows Firewall with Advanced Security API
只有以下接口:INetFwPolicy2, INetFwProduct, INetFwProducts, INetFwRule, INetFwRule2, INetFwRule3, INetFwRules, INetFwServiceRestriction。看起来不太有希望。
现在我迷路了。我应该在 Windows 7 上使用哪个 API?
【问题讨论】:
-
您能分享一下您最终使用的脚本的 Github 要点吗?
-
@MarkKCowan:我终于写了这个:github.com/utapyngo/icsmanager
标签: networking windows-7 routing nat