Windows 10 突然拒绝运行 VBS 脚本

Windows 10 突然拒绝运行 VBS 脚本

Windows 版本:21H1(操作系统内部版本 19043.1151)[Windows 10 Pro 64 位] AV 是 Windows Defender 和 brain.exe

现在我的问题:

从最近起我不再能运行我的 VBS 脚本。 错误信息和排除

---------------------------
Windows Script Host
---------------------------
Script: C:\_Operations\Aebian\BorderlessGaming\BorderlessGaming.vbs
Line:   3
Char:   1
Error:  This script contains malicious content and has been blocked by your antivirus software.: 'Run'
Code:   800A802D
Source:     Microsoft VBScript runtime error

---------------------------
OK   
---------------------------

该脚本过去运行完美,没有任何问题。脚本内容如下:

Dim WinScriptHost
Set WinScriptHost = CreateObject("WScript.Shell")
WinScriptHost.Run Chr(34) & "C:\_Operations\Aebian\BorderlessGaming\BorderlessGaming.bat" & Chr(34), 0
Set WinScriptHost = Nothing

然后运行实际脚本。我使用 VBS,因为否则我将始终打开一个 CMD 窗口,而我必须手动关闭它。BAT 文件如下所示:

@echo off
:loop
Start /MIN "" "C:\Programs\Borderless Gaming\BorderlessGaming.exe"
timeout /t 1800 >nul
taskkill /F /IM "BorderlessGaming.exe" >nul
goto loop

在我的排除中,我直接拥有整个文件夹和 VBS 文件(如上面的屏幕截图所示)。我还遗漏了什么吗?我想知道为什么现在这是一个问题,但三天前却不是。

非常感谢您的帮助,谢谢。

答案1

我现在已经改变了脚本的调用过程。因为我上面帖子中的原始 VBS 文件已经造成了麻烦。

' Run BAT invisible - Usage: wscript.exe "C:\_Operations\Aebian\util\vbi.vbs" "C:\_Operations\Aebian\BorderlessGaming\BorderlessGaming.bat"
CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, False

基本上,我现在有一个“专用”的 VBS 文件,它接受一个参数。它将毫无问题地运行我的 BAT 文件。在第一行的注释中,您将看到它是如何工作的。我将 VBS 文件命名为 vbi.vb​​s,但您可以随意命名。

感谢你的帮助。

答案2

我向 Windows Defender 团队提交了有关此问题的“误报”报告。他们使用以下示例脚本“删除了触发“恶意代码”阻止的定义”:

Set oShell = CreateObject("WScript.Shell")
oShell.Run "taskkill /f /im mspaint.exe"

我刚刚检查了 Windows Defender 定义 1.345.247.0,上面的脚本现在运行没有错误。我认为此更新应该可以让您的原始脚本干净地运行。至少,我已经确认以下代码(即完全用 VBScript 编写的原始脚本)现在运行良好。

Set oShell = CreateObject("WScript.Shell")
Do While True
    oShell.Run Chr(34) & "C:\Programs\Borderless Gaming\BorderlessGaming.exe" & Chr(34), 2, 0
    WScript.Sleep 1800000
    oShell.Run "TaskKill /im BorderlessGaming.exe /f", 0, 1
Loop

相关内容