Vbscript wscript.exe已停止使用自定义协议

Vbscript wscript.exe已停止使用自定义协议,vbscript,url-scheme,Vbscript,Url Scheme,我们公司的所有计算机都配置了运行vbs脚本的自定义协议,因此当您单击具有该用户协议的链接时,vbs脚本将启动并执行与文件系统和浏览器无法访问的应用程序交互的操作 这是用于注册协议的.reg文件: Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\<name>] "URL Protocol"="" @="Url:<Description>" "UseOriginalUrlEncoding"=dword:0000

我们公司的所有计算机都配置了运行vbs脚本的自定义协议,因此当您单击具有该用户协议的链接时,vbs脚本将启动并执行与文件系统和浏览器无法访问的应用程序交互的操作

这是用于注册协议的.reg文件:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\<name>]
"URL Protocol"=""
@="Url:<Description>"
"UseOriginalUrlEncoding"=dword:00000001

[HKEY_CLASSES_ROOT\<name>\DefaultIcon]
@="C:\\Windows\\System32\\WScript.exe"

[HKEY_CLASSES_ROOT\<name>\shell]

[HKEY_CLASSES_ROOT\<name>\shell\open]

[HKEY_CLASSES_ROOT\<name>\shell\open\command]
@="C:\\Windows\\System32\\WScript.exe \"C:\\Program Files\\<name>.vbs\" \"%1\""
Windows注册表编辑器5.00版
[HKEY_CLASSES_ROOT\]
“URL协议”=“”
@=“Url:”
“UseOriginalurEncoding”=dword:0000000 1
[HKEY_CLASSES_ROOT\\DefaultIcon]
@=“C:\\Windows\\System32\\WScript.exe”
[HKEY_CLASSES_ROOT\\shell]
[HKEY\U CLASSES\U ROOT\\shell\open]
[HKEY\U CLASSES\U ROOT\\shell\open\command]
@=“C:\\Windows\\System32\\WScript.exe\”C:\\Program Files\\.vbs\“\%1”
该脚本在大约50台计算机上运行良好,没有任何问题


上周一位用户抱怨说它停止工作了。我发现WScript.exe不再工作,所以我复制了它,创建了WScript 2.exe,修改了自定义协议以运行WScript 2.exe,然后它重新开始工作

今天早上,我的电脑也没有听到我自定义协议上的点击。我将WScript.exe复制到WScript 2.exe,它重新开始工作

我希望我的电话很快就会响起来

为什么WScript.exe停止侦听自定义协议

为什么它的相同副本仍然有效

编辑(对评论的回答)

也许如果我知道如何更好地描述“它停止工作了”,那么我就会知道如何修复它:)

我不知道它是否因为Microsoft更新、防病毒更新或it基础架构/配置的更改而停止工作。以下是引导我找到解决方法的简要总结:

  • 我将我的自定义协议与工作协议进行了比较,选择了
    mailto
    作为参考
  • 我注意到,更改.reg文件的最后一行(见上文)可以用于任何其他可执行文件,但不能用于
    wscript.exe
  • 我比较了受影响计算机上执行的
    wscript.exe
    ,与受影响计算机(尚未)上的执行情况,没有区别
    • 双击将显示相同的
      Windows脚本主机设置
      对话框
    • 使用自定义协议使用的相同参数从命令提示符执行时,效果与预期相同
  • 自定义协议在执行另一个可执行文件时传递正确的参数
  • 此时,我认为Windows已被列入黑名单
    wscript.exe
    ,于是我开始寻找替代方案
  • 我试图将
    wscript.exe
    重命名为
    wscript 2.exe
    ,但无法重命名,因为我没有TrustedInstaller权限
  • 我复制了一份,而不是重命名它
  • 我在命令提示符下测试了副本,它的工作原理与原始版本相同
  • 我测试了来自自定义协议的副本,它的工作原理与原始协议一样
编辑2(更多评论答案)

所有的电脑都有Windows10Pro

点击
设置-更新和安全性-查看更新历史记录
显示
功能更新至2018年5月22日成功安装的Windows 10 1803版
。单击
显示此更新中的新增内容
显示没有任何有用的内容

编辑3

不工作=没有症状,没有发生,没有执行,没有记录(据我所知)

我尝试使用一个简单的vbscript,其中只有一行
MsgBox“Hello”
。它可以从命令行运行,但不能从自定义协议运行。任务管理器没有显示任何弹出的内容,但我不知道它是否因为生命周期太短而无法显示,或者因为它无法执行而没有显示。相同的脚本可用于wscript 2.exe


我感觉有些东西(Windows、防病毒等)将
自定义协议+wscript.exe
列入黑名单,但不是
自定义协议+任何其他可执行文件
任何其他环境+wscript.exe
。这就是我试图将wscript.exe复制到wscript 2.exe的原因。我惊喜地发现它能工作。

“它停止工作了。我发现WScript.exe不再工作了。”。“不起作用”是什么意思?你有错误吗?是什么让你认为文件的副本可以代替原件?是否有任何错误消息?在命令提示下键入
wscript/?
时会发生什么情况?看来这里发生了一些变化。也许它不再出现在反病毒whitellist中。从代码的角度来看,将
wscript
重命名为
wscript 2
不会改变任何东西。所以,它“停止工作”有一些广泛的原因(不管是什么意思,你没有解释),那就是你没有告诉我们。因此,回答这个问题是不可能的,因为答案与您所写的内容无关。您应该了解操作系统的详细信息,以及这些操作系统最近停止工作时安装了哪些更新,如果我知道如何更好地描述“它停止工作”的话然后我就会知道如何解决它:)是的,这是解决任何问题的关键。但是……在那个巨大的编辑之后,你又没有解释“不工作”!!。当你点击链接“不工作”时,会发生什么?没有什么?通常会发生一些事情。你检查过windows事件日志了吗?任务管理器中是否有任何wscript进程?在我看来,您(或Microsoft)似乎安装了另一个名为wscript.exe的程序,该程序被错误地拾取。