首页 > 解决方案 > 自动化服务器无法创建对象:ActiveXObject 创建错误

问题描述

我在 oracle 程序中有一个非常简单的 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 errorAutomation server can't create object

我尝试将浏览器设置更改script ActiveX controls marked safe for scriptingenable并且它有效。

但在我的情况下,客户端网络中的用户可以访问应用程序,我们无法调整网络中每台机器的安全设置。任何人都可以提出替代解决方案或任何其他方法来获取 Windows 用户名吗?

标签: javascriptjavaactive-directoryoracle-sqldeveloperactivex

解决方案


如果您绝对必须使用 WScript.Shell 来完成任何您想要完成的任务,您可以通过 GPO 为您的 Intranet 区域设置选项。

您可以在该站点的帮助下找到相应的 GPO 设置:https ://getadmx.com/?Category=InternetExplorer&Policy=Microsoft.Policies.InternetExplorer::IZ_PolicyScriptActiveXMarkedSafe_3


推荐阅读