Серверу автоматизации не удается создать объект: ошибка создания ActiveXObject - PullRequest
0 голосов
/ 27 июня 2018

У меня есть очень простой код JavaScript в процедуре оракула, который мы использовали для получения имени пользователя для Active Directory, так как мое приложение не имеет пользовательского интерфейса.

htp.p('function disp_alert()');
htp.p('{');
htp.p('var WinNetwork = new ActiveXObject("WScript.Network")');
htp.p(' WinNetwork = WinNetwork.UserName');
htp.p('alert(WinNetwork)');
htp.p('}');

Выдает исключение ActiveXObject creation error: Automation server can't create object

Я попытался изменить настройки браузера script ActiveX controls marked safe for scripting на enable, и это сработало.

Но в моем случае к приложению обращаются пользователи в клиентской сети, и мы не можем настроить параметры безопасности для каждой машины в сети. Может кто-нибудь предложить альтернативное решение или любой другой метод для получения имени пользователя Windows?

1 Ответ

0 голосов
/ 27 июня 2018

Если вам абсолютно необходимо использовать WScript.Shell для всего, чего вы хотите достичь, вы можете установить параметр для своей зоны интрасети с помощью объекта групповой политики.

С помощью этого сайта вы можете найти соответствующую настройку объекта групповой политики: https://getadmx.com/?Category=InternetExplorer&Policy=Microsoft.Policies.InternetExplorer::IZ_PolicyScriptActiveXMarkedSafe_3

...