首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在装有C#的Windows Server上添加和删除IPSec策略有哪些选项?

在装有C#的Windows Server上添加和删除IPSec策略有哪些选项?
EN

Stack Overflow用户
提问于 2009-03-31 21:52:40
回答 2查看 2.3K关注 0票数 4

我希望能够使用C#以编程方式在Windows Server2003上添加或删除IP安全策略。

通常,您可以通过gpedit.msc管理单元(在Windows设置->本地策略->本地计算机上的IP安全策略下)手动操作这些策略。但我需要能够通过代码添加IP过滤器策略。

你有什么建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-13 03:41:16

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

1)使用WMI直接操作。与直觉相反,这实际上暴露了比选项#2更少的控制(这就是我自己正在做的)。这都是通过Win32_NetworkAdapterConfiguration类完成的。下面是我提出的这个问题的链接,在研究了一段时间后,我对此做出了回应:

Methods of programatically altering ipsec rules with C#?

这暴露了较少的功能,因为您只能通过适配器的IPsec控制三件事: TCP端口、UDP端口和IP协议。(您无法处理多个策略、不同的子网掩码等)

2)包装netsh ipsec来做你所有的脏活。这就是解决之道,因为powershell (可以通过System.Management.Automation中的PowerShell类调用)目前缺少用于进行IPSec更改的cmdlet。

Is there a cmdlet in PowerShell 2 to handle ipsec changes?

通过一个名为System.Management.Automation.PowerShell的powershell管道包装netsh ipsec是我最终要做的事情。

可以使用System.Diagnostics.Process生成和控制shell,也可以如上所述使用PowerShell类。任何一个都应该完成这项工作。

备注如果您在某个时候切换到2008,请注意netsh ipsec已被弃用,并确保使用netsh advfirewall。

祝好运!

票数 3
EN

Stack Overflow用户

发布于 2009-03-31 22:20:20

您可以使用System.Diagnostics.Process并以ipsec命令作为参数运行"cmd.exe“。

您可以尝试的另一个资源是Microsoft's websiteGoogle

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/703225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档