zoukankan      html  css  js  c++  java
  • 如何应用 AutoIt 修改本机的防火墙配置?(开启,关闭防火墙,添加程序信任到防火墙)

    以前,公司的实施人员配置好项目之后,不同的机器之间经常性的无法建立链接,后来发现是防火墙的设置。虽然是个小问题,但是经常性的忘记这个配置。

    现在,我决定把对防火墙的设置,加入到我给实施人员的配置工具中。

    打开防火墙其实很简单,代码如下:

    #RequireAdmin
    Run(@ComSpec & " /c " & 'Netsh advfirewall set currentprofile state on', "", @SW_HIDE)

    该命令以管理员身份运行才能起作用,所以需要 #RequireAdmin

    如果要关闭防火墙,只需要把Run里面的命令中的on换成off即可。

    遇到问题当然不能关闭防火墙就了事,最好还是在防火墙开启的情况下,添加应用程序到信任列表。

    这儿我就放一个简单的函数供大家参考,应该说是万变不离其宗啊

    Func in_add()
        If FileExists(@ScriptDir & "SageTouchBrower.exe") = 1 Then
            Run(@ComSpec & " /c " & 'netsh advfirewall firewall delete rule name="SageTouchBrower" dir=in program="' & @ScriptDir & 'SageTouchBrower.exe"', "", @SW_HIDE)
            _GUICtrlListBox_AddString($hListBox, "Delete the existing in rule for progcess: SagetouchBrower.exe in fireware")
            Run(@ComSpec & " /c " & 'netsh advfirewall firewall add rule name="SageTouchBrower" dir=in program="' & @ScriptDir & 'SageTouchBrower.exe"' & " security=notrequired action=allow", "", @SW_HIDE)
            _GUICtrlListBox_AddString($hListBox, "Add a new in rule for process: SagetouchBrower.exe in fireware")
        Else
            _GUICtrlListBox_AddString($hListBox, "文件 " & @ScriptDir & "SageTouchBrower.exe 不存在!...")
            _GUICtrlListBox_AddString($hListBox, "所以无法把大屏端应用程序添加信任到防火墙,请手动配置!" )
        EndIf
    EndFunc

    解释一下:

    要把某应用程序添加到信任列表,必须要:

    1. 判断该程序是否存在;如果不存在,添加也没什么必要;

    2. 删除防火墙设置中已经添加的该运行程序的信任,要不然点一次我的配置文件就添加一次信任,还不把机器整死?

    3. 做的每一步操作,都有记录,当然,该记录可以输入到log文件,也可以展示出来

  • 相关阅读:
    大型网站架构系列:20本技术书籍推荐
    程序员进阶顺序
    乐观锁与悲观锁——解决并发问题
    Redis的事务功能详解
    驱动开发(8)处理设备I/O控制函数DeviceIoControl
    钱币兑换问题(杭电1284)(母函数)
    jqm文件上传,上传图片,jqm的表单操作,jqm的ajax的使用,jqm文件操作大全,文件操作demo
    问:简述一下内部类的实质是什么?
    Android 删除新版安卓fragment_main.xml
    保温饭盒毕业设计程序
  • 原文地址:https://www.cnblogs.com/autotest/p/3498969.html
Copyright © 2011-2022 走看看