私は約2週間、この問題に対処してきた、と、残念ながら、あなたが必要とする制御の深さに応じて、2つのオプションがあります。
1)WMIとの直接操作。カウンター直感的に、これは実際にはオプション2(これは私が自分自身でやっていることです)よりも低いコントロールを公開します。これはすべてWin32_NetworkAdapterConfigurationクラスを介して行われます。ここで私はしばらく後でそれを研究した後にそれへの私の応答で、これについて尋ねた質問へのリンクです:あなただけのアダプターのためのIPsecによる3つのことを制御することができますので、
Methods of programatically altering ipsec rules with C#?
これは、より少ない機能を公開:TCPポートを、UDPポート、IPプロトコル。 (複数のポリシー、異なるサブネットマスクなどを扱うことはできません)
2)すべての汚れた作業を行うためにnetsh ipsecをラップします。 PowerShellクラス(System.Management.AutomationのPowerShellクラスから呼び出すことができます)には現在、IPSecの変更を行うコマンドレットがありません。 System.Management.Automation.PowerShellを通して呼び出さPowerShellのパイプラインを通じて
Is there a cmdlet in PowerShell 2 to handle ipsec changes?
ラッピングのnetsh ipsecのは、私がやってしまったものです。
System.Diagnostics.Processを使用してシェルを生成したり、シェルを制御したり、前述のPowerShellクラスを使用します。いずれにせよ、仕事を終わらせるべきです。
注 あなたには、いくつかの時点で2008に切り替えると、netshのIPSecが廃止されていることに注意して、代わりにnetshをadvfirewallをを使用してください。
幸運を祈る!
私はすでにGoogledしてStackOverflow.comを検索しました。あなたがリンクしているMSページを読むと、IPSecpol.exe(これは正しいツールの候補と思われる)* Windows Server 2003 *に含まれていません – ZeroBugBounce