2011-10-05 88 views
0

我有我的JavaScript錯誤上的ActiveXObject(「ADSystemInfo」)

var objSysInfo=new ActiveXObject("ADSystemInfo"); 
var objUser=GetObject("LDAP://" + objSysInfo.UserName); 
alert(objUser.displayName); 

當我登錄的管理員一切正常這條線,但如果我登錄的非管理員帳戶,它開始給予例外

var objSysInfo=new ActiveXObject("ADSystemInfo"); 

這裏似乎是什麼問題,我將如何解決它? 有沒有其他的選擇從JavaScript獲取用戶信息,我只想獲取顯示名稱? (我知道FF和Chrome這不會工作)

順便說一句,這是錯誤我得到「自動化服務器不能創建對象的Active X」

回答

0

的錯誤指示瀏覽器安全當前用戶的設置可能不允許實例化該特定的ActiveX控件。除非您可以更改用戶的瀏覽器安全設置,否則您無法通過編程(使用JavaScript)來做任何事情。

由於安全設置更爲寬鬆,您不會得到與管理員用戶相同的錯誤。

嘗試使用Internet選項中的ActiveX安全設置,並查看是否可以使其與非管理員用戶一起使用。也許最終用戶的解決方案是提供有關如何更改ActiveX安全設置的文檔。

0

我知道這個問題是幾年前問過的。不過,我回答,以防萬一有人可能會需要這樣的信息:

您可能需要使用更多的東西是這樣的:

**JavaScript** 
    var wshshell = new ActiveXObject("wscript.shell"); 
    var userName = wshshell.ExpandEnvironmentStrings("%username%"); 
    alert(userName); 

**VBScript** 
    Set ObjSysInfo = CreateObject("ADSystemInfo") 
    strUser = objSysInfo.UserName 

    Set objUser = GetObject("LDAP://" & strUser) 
    Dim userName = objUser.SAMAccountName 
'In this case, username will be populated with whatever the AD requires for 
'authentication when logging in 

也許這會爲你工作?

相關問題