我希望能够通过C#编程地在Windows Server 2003上添加或删除IP安全策略。

通常,您会通过gpedit.msc snap -in(在Windows设置 - >本地计算机上的IP安全策略)操纵这些策略。但是我需要能够通过代码添加IP过滤器策略。

关于如何做的任何想法?

有帮助吗?

解决方案

我已经处理这个问题已有两个星期了,不幸的是,您有两个选择,具体取决于您需要的控制深度:

1)使用WMI直接操纵。违反直觉,这实际上比选项2(这是我自己在做的事情)更少的控制。这一切都是通过win32_networkAdapterConfiguration类完成的。这是我对此提出的问题的链接,在研究后不久之后我对此的回答:

使用C#更改IPSEC规则的方法?

这会暴露较少的功能,因为您只能通过IPSEC来控制适配器的三件事:TCP端口,UDP端口,IP协议。 (您无法处理多种政策,不同的子网罩等)

2)包装Netsh Ipsec来完成所有肮脏的工作。这是要走的路,因为PowerShell(可以通过System.Management.Automation中的PowerShell类调用)目前缺乏进行IPSEC更改的CMDLET。

PowerShell 2中是否有CMDLET来处理IPSEC更改?

通过system.management.automation.powershell将NetSh Ipsec包装到净值iPSEC是我最终所做的。

使用System.Diagnostics.Process产生和控制外壳,或使用上述PowerShell类。要么要完成工作。

笔记如果您在某个时候切换到2008,请注意,Netsh IPSEC已弃用,并确保使用Netsh Advfirewall。

祝你好运!

其他提示

您可以将system.diagnostics.diagnostics.process与IPSEC命令一起运行“ cmd.exe”作为参数。

您可以尝试的另一个资源是 微软的网站 或者 谷歌.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top