【求助】请大神帮忙!!为什么这个批处理在Win7上用不了 在线等
bat吧
全部回复
仅看楼主
level 1
编写了一个用来封禁445端口的批处理(用来防御比特币病毒),但是Win7 SP1上无法运行,Win10就好使,请各位大神帮忙看一下有什么问题,或者是不是系统的问题?非常急在线等!
在W7上就是先获取管理员权限那步没问题,但是在UAC上点击了确定之后就会自动退出,无法执行后面封禁端口的任务,求大神帮忙!!!win10正常
@echo off
CLS
ECHO.
ECHO ===================================================================================================================
ECHO 欢迎使用比特币勒索病毒防御工具Win7/8/10版!本程序将会封禁比特币勒索病毒用于入侵的危险网络端口,使其无法入侵你的电脑
ECHO ===================================================================================================================
ECHO.
ECHO ==========================================================
ECHO 需要获取系统管理员权限才能继续执行,正在获取,请耐心等待…
ECHO ==========================================================
:init
setlocal DisableDelayedExpansion
set "batchPath=%~0"
for %%k in (%0) do set batchName=%%~nk
set "vbsGetPrivileges=%temp%\OEgetPriv_%batchName%.vbs"
setlocal EnableDelayedExpansion
:checkPrivileges
NET FILE 1>NUL 2>NUL
if '%errorlevel%' == '0' ( goto gotPrivileges ) else ( goto getPrivileges )
:getPrivileges
if '%1'=='ELEV' (echo ELEV & shift /1 & goto gotPrivileges)
ECHO.
ECHO =================================================================
ECHO 正在请求 UAC 权限批准…请在弹出的窗口中点击“确定”,否则无法执行
ECHO =================================================================
ECHO Set UAC = CreateObject^("Shell.Application"^) > "%vbsGetPrivileges%"
ECHO args = "ELEV " >> "%vbsGetPrivileges%"
ECHO For Each strArg in WScript.Arguments >> "%vbsGetPrivileges%"
ECHO args = args ^& strArg ^& " " >> "%vbsGetPrivileges%"
ECHO Next >> "%vbsGetPrivileges%"
ECHO UAC.ShellExecute "!batchPath!", args, "", "runas", 1 >> "%vbsGetPrivileges%"
"%SystemRoot%\System32\WScript.exe" "%vbsGetPrivileges%" %*
exit /B
:gotPrivileges
setlocal & pushd .
cd /d %~dp0
if '%1'=='ELEV' (del "%vbsGetPrivileges%" 1>nul 2>nul & shift /1)
ECHO.
ECHO ===============================================================
ECHO 恭喜!获取管理员权限成功!接下来将为您清除比特币病毒的入侵路径!
ECHO ===============================================================
ECHO.
ECHO =================
ECHO 正在封禁445端口…
ECHO =================
netsh advfirewall set allprofile state on
netsh advfirewall firewall add rule name=防比特币勒索封禁445端口 dir=in action=block protocol=TCP localport=445
ECHO.
ECHO ==============
ECHO 445端口已封禁!
ECHO ==============
2017年05月14日 06点05分 1
level 9
具体是什么地方出现了问题?不清楚怎么看就命令行调用批处理然后截图上传
2017年05月14日 17点05分 2
level 13
把获取uac那段全删
2017年05月15日 11点05分 3
level 13
这是那个zz小学生写的命令。一句命令就能解决的事写那么多行,还加个bug甚多的vbs调uac代码
从第二行到倒数10行全删并换成以下内容
reg query "HKU\S-1-5-19" >nul 2>&1 || (echo 请右键“以管理员身份运行”&echo.&pause&exit)
2017年05月15日 11点05分 6
level 11
mode con lines=30 cols=90
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c %~s0 ::","","runas",1)(window.close)&&exit
cd /d "%~dp0"
这个加在开头就能提示获取管理员权限了
2017年05月19日 18点05分 10
谢谢啦
2017年05月20日 04点05分
1