宁波网站推广公司报价,百度平台营销软件,首次登录 e账户客户登录,seo网站推广作用常常手动设置防火墙的入站或出站规则#xff0c;比较麻烦#xff0c;其实可以用命令行搞定。 下面是禁用BCompare.exe连接网络的例子#xff1a;
ECHO OFF(PUSHD %~DP0)(REG QUERY HKU\S-1-5-19NUL 21)||(powershell -Comm…常常手动设置防火墙的入站或出站规则比较麻烦其实可以用命令行搞定。 下面是禁用BCompare.exe连接网络的例子
ECHO OFF(PUSHD %~DP0)(REG QUERY HKU\S-1-5-19NUL 21)||(powershell -Command Start-Process %~dpnx0 -Verb RunAsEXIT)rem %~sdpnx0 use short names
rem ECHO OFF(PUSHD %~DP0)(REG QUERY HKU\S-1-5-19NUL 21)||(powershell -Command Start-Process %~sdpnx0 -Verb RunAsEXIT)
rem %~dpnx0 use long names
rem ECHO OFF(PUSHD %~DP0)(REG QUERY HKU\S-1-5-19NUL 21)||(powershell -Command Start-Process %~dpnx0 -Verb RunAsEXIT)rem 获取当前脚本文件的完整路径并切换到BCompare.exe程序所在的目录
set current_path%~dp0
rem echo current_path%current_path%rem 设置变量“xpath”的值为BCompare.exe程序的绝对路径
set xpath%current_path%BCompare.exe
rem echo xpath%current_path%BCompare.exerem 删除之前可能存在的防火墙规则并忽略错误信息
echo 删除-BCompare禁止联网-出站
netsh advfirewall firewall delete rule nameBCompare禁止联网-出站
echo 删除-BCompare禁止联网-入站
netsh advfirewall firewall delete rule nameBCompare禁止联网-入站rem 添加新的防火墙规则禁止BCompare.exe程序的出站和入站网络流量
echo 添加BCompare禁止联网-出站 规则
netsh advfirewall firewall add rule nameBCompare禁止联网-出站 dirout actionblock profileany program%xpath% enableyes
echo 添加BCompare禁止联网-入站 规则
netsh advfirewall firewall add rule nameBCompare禁止联网-入站 dirin actionblock profileany program%xpath% enableyes
pause命令add rule 解析
创建的规则类型 netsh advfirewall firewall add rule 接如下参数
dirin 还可选outin是入站inbound的。只适用于从外部网络向本地计算机发送的数据流量也就是别人访问你的计算机的情况out 只适用于出站outbound的网络流量也就是从本地计算机向外部网络发送的数据。programC:\xxx.exeprotocoltcp: 还可选0-255|icmpv4|icmpv6|icmpv4:type,code|icmpv6:type,code|tcp|udp|any (defaultany)localipany还可选IPv4 address|IPv6 address|subnet|range|listlocalport0-65535其他还有port range[,...]|RPC|RPC-EPMap|IPHTTPS|any (defaultany)actionallow还可选block|bypass。规则允许allow这种网络流量通过防火墙或阻止block或绕过bypass它。profileany还可选public|private|domain|any[,...]所有any的防火墙配置文件包括域domain、私有private和公共public。enableyes还可选no,(defaultyes)表示这个规则yes启用enable的而不是no禁用的。平时可以不写这一项。
例子
添加BCompare禁止联网-出站 规则
netsh advfirewall firewall add rule nameBCompare禁止联网-出站 dirout actionblock profileany program%xpath% enableyes
添加BCompare禁止联网-入站 规则
netsh advfirewall firewall add rule nameBCompare禁止联网-入站 dirin actionblock profileany program%xpath% enableyes入站规则
netsh advfirewall firewall add rule nameMy Application dirin actionallow programC:\MyApp\MyApp.exe enableyes
出站规则
netsh advfirewall firewall add rule nameRemote PortNumber dirout actionallow protocolTCP localport1234使用管理员方式运行bat
rem %~sdpnx0 use short names
ECHO OFF(PUSHD %~DP0)(REG QUERY HKU\S-1-5-19NUL 21)||(powershell -Command Start-Process %~sdpnx0 -Verb RunAsEXIT)rem %~dpnx0 use long names
ECHO OFF(PUSHD %~DP0)(REG QUERY HKU\S-1-5-19NUL 21)||(powershell -Command Start-Process %~dpnx0 -Verb RunAsEXIT)
命令是用来检测当前用户是否具有管理员权限如果没有就以管理员身份重新运行该脚本。具体的解释如下
ECHO OFF表示关闭回显功能不显示命令本身。(PUSHD %~DP0)表示将当前目录切换到批处理文件所在的目录%~DP0是一个参数扩展表示批处理文件的驱动器和路径。(REG QUERY HKU\S-1-5-19NUL 21)表示查询注册表中的一个键值这个键值是系统默认的管理员账户的SID。如果查询成功说明当前用户具有管理员权限。NUL 21表示将标准输出和错误输出都重定向到空设备即不显示任何信息。||(powershell -Command Start-Process %~sdpnx0 -Verb RunAsEXIT)表示如果前面的命令失败即当前用户不具有管理员权限就执行后面的命令。后面的命令是用powershell来启动一个新的进程这个进程就是当前的批处理文件但是用短文件名代替长文件名%~sdpnx0是一个参数扩展表示批处理文件的完整路径但用短文件名格式。-Verb RunAs表示以管理员身份运行这个进程。EXIT表示如果成功启动了新的进程就退出当前的进程。
想要修改这个脚本命令为长路径的几种办法有几种可能的方法
可以不使用短文件名格式而直接使用长文件名格式。这样就可以把%~sdpnx0改为%~dpnx0。可以不使用powershell来启动新的进程而使用runas命令。这样就可以把(powershell -Command Start-Process %~sdpnx0 -Verb RunAs)改为(runas /user:administrator %~sdpnx0)。但是这种方法需要输入管理员账户的密码。可以不使用reg query来检测管理员权限而使用net session或者whoami命令。这样就可以把(REG QUERY HKU\S-1-5-19NUL 21)改为(NET SESSIONNUL 21)或者(WHOAMI /GROUPS | FINDSTR /C:\S-1-5-32-544\NUL 21)。
(1) 批处理实战篇—修改文件变量、参数_bat 修改变量的值_BetaGarf的博客-CSDN博客. https://blog.csdn.net/Joker_N/article/details/90375203. (2) .bat批处理命令常用操作大全 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/446337414. (3) BAT批处理基本命令总结 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/54572985.