2016-11-11 13 views
1

特定のファイアウォールルールを名前で取得し、そのオプション(具体的にはIPスコープ)を参照して何かと比較したいと思います。これは可能ですが、私はオンラインで検索しましたが、何も見つかりませんでした。そのオブジェクトfirewallPolicy.Rulesインサイド特定のファイアウォールルールオプションを取得する

INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2")); 
INetFwRule firewallRule = firewallPolicy.Rules.OfType<INetFwRule>().Where(x => x.Name == RULE_NAME).FirstOrDefault(); 

if (firewallRule == null) 
{ 
    firewallRule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule")); 
    firewallRule.Name = RULE_NAME; 
    /* More stuff */ 
    firewallPolicy.Rules.Add(firewallRule); 
} 

答えて

0

を、あなたはあなたのファイアウォールの内側に持っている各ルールのために行くためにforeachループ にアクセスして使用することがあります:

これは私がルールを追加しています方法です。 そのコレクション内のWiki検索するあなたは、特に、いくつかのルールが必要な場合は、使用LINQ:このような 何か:

するvarルール= firewallPolicy.Rules.Where(N => n.Name == "あなたの名前");

関連する問題