我编写了一个小脚本,可以自动下载并运行一个程序,但是当从命令行调用该脚本时,Windows Defender 将进入场景,警告用户检测到恶意软件,禁用并删除该脚本!
我如何才能阻止 Windows Defender 删除该脚本?
代码:
strFileURL = WScript.Arguments.Item(0) 'download url
strHDLocation = WScript.Arguments.Item(1) 'path to exe
Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")
objXMLHTTP.open "GET", strFileURL, false
objXMLHTTP.send()
If objXMLHTTP.Status = 200 Then
Set objADOStream = CreateObject("ADODB.Stream")
objADOStream.Open
objADOStream.Type = 1 'adTypeBinary
objADOStream.Write objXMLHTTP.ResponseBody
objADOStream.Position = 0 'Set the stream position to the start
Set objFSO = Createobject("Scripting.FileSystemObject")
If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
Set objFSO = Nothing
objADOStream.SaveToFile strHDLocation
objADOStream.Close
Set objADOStream = Nothing
End if
Set objXMLHTTP = Nothing
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run WScript.Arguments.Item(1)
shell.SendKeys"{ENTER}"
答案1
下次 Windows Defender 向您发出有关该软件的警报时,请在“警报”对话框的“操作”菜单上单击“始终允许”。需要管理员权限如果系统提示您输入管理员密码或确认,请键入密码或提供确认。
这也可能有用:
删除或恢复隔离的项目
通过单击「开始」按钮 「开始」按钮的图片,再单击「所有程序」,然后单击「Windows Defender」,打开 Windows Defender。
单击“工具”,然后单击“隔离的项目”。
检查每个项目,然后对每个项目单击“删除”或“恢复”。如果要从计算机中删除所有隔离项目,请单击“全部删除”。需要管理员权限如果系统提示您输入管理员密码或确认,请键入密码或提供确认。
答案2
快速而肮脏的解决方案:
将脚本分成两部分。一个脚本用于下载,另一个用于执行。虽然不太优雅,但很有效。这样 Windows Defender 就被欺骗了。