【问题标题】:Automation server can't create object: ActiveXObject creation error自动化服务器无法创建对象:ActiveXObject 创建错误
【发布时间】:2018-06-27 07:07:18
【问题描述】:

我在 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 error:Automation server can't create object

我尝试将浏览器设置 script ActiveX controls marked safe for scripting 更改为 enable 并且成功了。

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

【问题讨论】:

  • 因为您是在 AD 登录名之后。可能想要检查这个而不是将网络服务器直接集成到 AD community.oracle.com/thread/3637062
  • 谢谢克里斯。当然看看这个。

标签: javascript java active-directory oracle-sqldeveloper activex


【解决方案1】:

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

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

【讨论】:

  • 感谢 Daniel 的建议,我将与基础架构团队核实,他们可以按照您的建议在域网络中设置任何 GPO 规则。使用代码 w = new ActiveXObject("WScript.Shell");我只想从 Active Directory 中为登录并点击应用程序 url 的用户获取 windows 用户 ID,因为我们在应用程序中没有任何特定的用户界面,所以应用程序 url 对所有人开放,任何人都可以在域网络中访问。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-19
  • 1970-01-01
  • 1970-01-01
  • 2018-07-27
  • 2013-03-27
  • 1970-01-01
相关资源
最近更新 更多