C#のでWindows Server上でIPSecポリシーを追加および削除する私のオプションは何ですか?

StackOverflow https://stackoverflow.com/questions/703225

  •  22-08-2019
  •  | 
  •  

質問

私は、プログラムのC#でWindows Server 2003上でIPセキュリティポリシーを追加または削除できるようにしたい。

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

これを行う方法上の任意のアイデア?

役に立ちましたか?

解決

私は約2週間、この問題に対処してきた、と、残念ながら、あなたが必要とする制御の深さに応じて、2つのオプションがあります:

WMIと

1)直接操作。カウンター直感的に、これは実際には(私は自分自身をやっているものです)オプション#2未満コントロールを公開します。これは、すべてのWin32_NetworkAdapterConfigurationクラスを介して行われます。

:ここで私はそれを研究した後、しばらく後でそれに私の応答で、これについて尋ねた質問へのリンクです プログラム的にC#のでIPSecのルールを変更する

方法ですか

TCPポート、UDPポート、IPプロトコル:あなたは3つのアダプタのIPsecによるもののみを制御することができますので、

これは、より少ない機能を公開します。 (あなたがなど、複数のポリシー、異なるサブネットマスクを扱うことができません。)

2)すべての汚い仕事をするためのnetsh ipsecのラッピング。 (System.Management.AutomationでPowerShellのクラスを介して呼び出すことができます)PowerShellは、現在のIPSecの変更を行うためのコマンドレットを欠いているとして、これは、移動するための方法である。

は、PowerShellのコマンドレット2ではありますIPSecの変更を処理するには?

System.Management.Automation.PowerShellを通して呼び出さPowerShellのパイプラインを介してのnetsh ipsecのをラップすると、私がやってしまったものです。

スポーンとシェルを制御、又は上述したようにPowerShellのクラスを使用するかSystem.Diagnostics.Processを使用。どちらかが仕事を得る必要があります。

の注意の あなたには、いくつかの時点で2008に切り替えると、netshのIPsecは廃止されていることに注意してください、そして代わりのnetshをadvfirewallを使用してください。

グッドラック!

他のヒント

あなたはSystem.Diagnostics.Processを使用し、引数としてipsecコマンドで「CMD.EXE」を実行することができます。

あなたが試すことができます別のリソースは、 MicrosoftのWebサイトであるか、 Googleのの。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top