wscript.exe перестал работать с пользовательским протоколом - PullRequest
0 голосов
/ 25 мая 2018

На всех компьютерах в нашей компании настроен собственный протокол, который запускает скрипт 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.И я был приятно удивлен, узнав, что это работает.

...