2009-03-31 7 views
4

C#でWindows Server 2003のIPセキュリティポリシーをプログラムで追加または削除できるようにしたい。C#でWindows Server上でIPSecポリシーを追加および削除するためのオプションは何ですか?

通常、gpedit.mscスナップイン(Windowsの設定 - >ローカルポリシー - >ローカルコンピュータのIPセキュリティポリシー)でこれらのポリシーを簡単に操作できます。しかし、コードでIPフィルタポリシーを追加できる必要があります。

これを行う方法に関するアイデアはありますか?

答えて

3

私は約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をを使用してください。

幸運を祈る!

-2

System.Diagnostics.Processを使用して、ipsecコマンドを引数として "cmd.exe"を実行できます。

もう1つのリソースは、Microsoft's websiteまたはGoogleです。

+0

私はすでにGoogledしてStackOverflow.comを検索しました。あなたがリンクしているMSページを読むと、IPSecpol.exe(これは正しいツールの候補と思われる)* Windows Server 2003 *に含まれていません – ZeroBugBounce

関連する問題