none
防火墙禁用端口NetFwTypeLib INetFwPolicy2.LocalPorts = “135”一设置端口就 提示ArgumentException: 值不在预期的范围内。 RRS feed

  • 问题

  •      INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
                // 创建本程序出站规则
                INetFwRule2 OutBoundRule = (INetFwRule2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));
                OutBoundRule.Name = “sfsfs”;
                OutBoundRule.Description = "sfsfs";
                OutBoundRule.Direction = NET_FW_RULE_DIRECTION_.NET_FW_RULE_DIR_OUT;//出站
                OutBoundRule.Action = NET_FW_ACTION_.NET_FW_ACTION_BLOCK;//禁止 

                OutBoundRule.LocalPorts = "135";//类型为string,写端口就报错,不在预期范围内,注释不用后正常,但是默认把所有端口都禁用了
                OutBoundRule.Protocol = 6;//协议号 tcp
                OutBoundRule.Enabled = true;
                // 添加出站规则
                firewallPolicy.Rules.Add(OutBoundRule);

    有谁遇到过这个问题啊,LocalPorts 一赋值端口就报错,说不在预期范围内求帮助*************c# using NetFwTypeLib

    2019年3月15日 13:20

全部回复

  • 135是系统默认端口你换个其他高位端口试试呢?

    family as water

    2019年3月16日 8:22
  • 试了还是不行,”5000“,“[5000,5500]”,{5000,5500}“,都试过,提示ArgumentException: 值不在预期的范围内
    2019年3月18日 8:30
  • Hi afsaf2413x-,  

    >>有谁遇到过这个问题啊,LocalPorts 一赋值端口就报错,说不在预期范围内求帮助*************c# using NetFwTypeLib

    请将协议定义在端口之前,并保证有管理员权限。

               OutBoundRule.Protocol = 6;//协议号 tcp
               OutBoundRule.LocalPorts = "135";//类型为string,写端口就报错,不在预期范围内,注释不用后正常,但是默认把所有端口都禁用了
               OutBoundRule.Enabled = true;
    Best Regards

    Yong Lu


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    • 已建议为答案 Misty Zi 2019年3月22日 6:53
    2019年3月21日 7:27
    版主