我目前正在爲一家公司編程一個windows-firewallmanager。
問題是,我只能通過名稱而不是INetFwRule對象或其他東西刪除條目。
有些條目的名稱有兩次,一次是TCP,另一次是UDP,我們可能只想刪除其中的一個。
我可以刪除兩個,然後再次創建其中一個,但我不想使用該解決方法。
有沒有人有一個簡單的解決方案呢?C#防火牆,刪除特定條目
0
A
回答
2
-1
public static void RemoveFirewallRules(string RuleName = "BreakermindCom")
{
try
{
Type tNetFwPolicy2 = Type.GetTypeFromProgID("HNetCfg.FwPolicy2");
INetFwPolicy2 fwPolicy2 = (INetFwPolicy2)Activator.CreateInstance(tNetFwPolicy2);
var currentProfiles = fwPolicy2.CurrentProfileTypes;
// Lista rules
// List<INetFwRule> RuleList = new List<INetFwRule>();
foreach (INetFwRule rule in fwPolicy2.Rules)
{
// Add rule to list
// RuleList.Add(rule);
// Console.WriteLine(rule.Name);
if (rule.Name.IndexOf(RuleName) != -1)
{
// Now add the rule
INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
firewallPolicy.Rules.Remove(rule.Name);
Console.WriteLine(rule.Name + " has been deleted from Firewall Policy");
}
}
}
catch (Exception r)
{
Console.WriteLine("Error delete rule from firewall");
}}
看這個
+0
不能解決有關該問題的重複名稱問題 – BerndK
相關問題
- 1. 在特定防火牆上禁用CSRF
- 2. C#HttpListener和Windows防火牆
- 3. c#.net和win2012防火牆
- 4. 刪除特定條目
- 5. TcpListener.AcceptTcpClient和防火牆
- 6. 防火牆fms rtmpt
- 7. WCF和防火牆
- 8. Symfony2防火牆security.yml
- 9. 併發防火牆
- 10. HttpWebRequest.Create和防火牆
- 11. Java + ServerSocket +防火牆
- 12. postgresql和防火牆
- 13. IUSR和防火牆
- 14. MSDTC和防火牆
- 15. 防火牆安全
- 16. Symfony2的多個防火牆:從其他防火牆
- 17. 在防火牆中記錄訪問控制條目
- 18. 重置Windows防火牆,無需刪除實例
- 19. 使用Delphi刪除Windows防火牆規則(例外)
- 20. 刪除防火牆規則在Windows 7上使用Powershell
- 21. 無法在防火牆中刪除虛擬IP Fortigate 100A
- 22. 刪除沒有附加任何exe的防火牆規則
- 23. C#MYSQL - 「隧道」過去的防火牆
- 24. 刪除所有行與特定條目
- 25. 如何刪除特定的mysql條目?
- 26. 刪除特定的CName條目[PowerShell]
- 27. 刪除表中的特定條目
- 28. Symfony2的安全防火牆重定向
- 29. 防火牆重定向事件
- 30. 獲取特定的防火牆規則選項
你能按名稱+協議過濾? – Marco
是的,我可以遍歷所有規則並在此期間過濾 – besplash