На всех компьютерах в нашей компании настроен собственный протокол, который запускает скрипт 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\""
С момента запуска 2014 сценарий прекрасно работает без проблем на ~ 50 компьютерах.
На прошлой неделе один пользователь пожаловался, что перестал работать.Я обнаружил, что WScript.exe больше не работает, поэтому скопировал его, создав WScript2.exe, изменил пользовательский протокол для запуска WScript2.exe и возобновил работу.
Этим утром и мой компьютер не работалслушайте клики по моему заказному протоколу.Я сделал копию WScript.exe на WScript2.exe, и она возобновила работу.
Я ожидаю, что мой телефон скоро начнет звонить.
Почему WScript.exe перестал слушать пользовательский протокол?
Почему его идентичная копия все еще работает?
РЕДАКТИРОВАТЬ (ответы на комментарии)
Возможно, если бы я знал, как лучше описать ", он перестал работать«тогда я бы знал, как это исправить:)
Я не знаю, перестал ли он работать из-за обновления Microsoft, обновления антивируса или изменения ИТ-инфраструктуры / конфигурации.Вот краткое изложение того, что привело меня к обходному пути:
- Я сравнил свой собственный протокол с рабочим, я выбрал
mailto
в качестве ссылки - Я заметил, что изменениепоследняя строка файла .reg (см. выше) будет работать с любым другим исполняемым файлом, но он не будет работать с
wscript.exe
- Я сравнил выполнение
wscript.exe
на зараженных компьютерах с егозатронуто выполнение на компьютерах (еще нет), и нет никакой разницыработает как положено
Пользовательский протокол передает правильные аргументы при выполнении другого исполняемого файла В этот момент я подумал, что Windows занесен в черный список
wscript.exe
, и я начал искать альтернативу Я пытался переименовать
wscript.exe
в
wscript2.exe
, но не смог, потому что у меня нет разрешения TrustedInstaller Я сделал копию вместопереименовывая его Я проверил копию из командной строки, и она работала как оригинал1059 *
РЕДАКТИРОВАТЬ 2 (больше ответов на комментарии)
На всех компьютерах установлена Windows 10 Pro.
При нажатии Settings - Updates & Security - View update history
появляется надпись Feature update to Windows 10, version 1803 Succesfully installed on 5/22/2018
.Нажатие на Show what's new in this update
не показывает ничего полезного.
РЕДАКТИРОВАТЬ 3
Не работает = нет симптомов, ничего не происходит, ничего не выполняется, ничего не регистрируется (насколько это возможно)как я знаю).
Я пытался с простым VBScript с одной строкой MsgBox "Hello"
.Он работает из командной строки, но не из пользовательского протокола.Диспетчер задач не показывает ничего всплывающего, но я не знаю, показывает ли он это, потому что продолжительность жизни слишком коротка для отображения или потому что он не выполняется.Тот же сценарий работает с wscript2.exe.
Мне кажется, что что-то (Windows, антивирус, ...) заносит в черный список вещь custom protocol + wscript.exe
, но не custom protocol + any other executable
или any other environment + wscript.exe
.Вот почему я попытался скопировать wscript.exe в wscript2.exe.И я был приятно удивлен, узнав, что это работает.