Windows-Server-2008
VBS 腳本不為特定使用者執行
我有一個 GPO 可以成功執行登錄/註銷腳本,以便大多數使用者將使用者描述更新為他們的電腦名稱。這適用於除一個之外的所有使用者,使用者收到的錯誤是
Line:14 Char:1 Error: Access is denied Code: 80070005 Source: Active directory.
腳本的第 14 行包含:
objUser.SetInfo
GPO 權限允許對經過身份驗證的使用者進行“讀取”。
錯誤本身似乎是一般權限問題,但收到錯誤的使用者仍然應該是“經過身份驗證的使用者”,因為它能夠登錄到 Active Directory(如果我錯了,請糾正我)。所討論使用者的唯一不同之處在於他是多達 6 個組的成員,其中域使用者是主要組。尋找解決此問題的指導。
Option Explicit Const ADS_PROPERTY_UPDATE = 2 Dim objSysInfo, objUser, objNetwork, strComputer, strDescription Set objSysInfo = CreateObject("ADSystemInfo") Set objUser = GetObject("LDAP://" & objSysInfo.UserName) Set objNetwork = CreateObject("Wscript.Network") strComputer = objNetwork.ComputerName strDescription = "Logged on " & strComputer & " on " & Date objUser.Put "description", strDescription objUser.SetInfo
除非我目前正在為*$dayjob 所做*的工作完全掩蓋了我的願景或判斷,否則您的腳本會嘗試將 Active Directory 使用者對象的描述設置為使用者登錄的電腦(以及他們登錄的日期)。
預設情況下,普通使用者無權在其 AD 使用者對像上編輯或設置描述欄位。因此,請仔細檢查此 AD 使用者對象的權限,並檢查該使用者是否具有對描述屬性的修改權限。即使您的所有其他使用者確實有權在他們的 AD 使用者對像上執行此操作,我也會懷疑該使用者沒有。
以我的(其中一個)使用者和 ADSIedit 為例,我必須進入
Properties
,然後是Advanced Security
相關使用者對象的設置,並檢查Write Description
是否允許SELF
該使用者所在的組中的一個或一個組的成員。(我使用 ADSIedit 是為了獲得有意義的螢幕截圖,但老實說,對於大多數 AD 使用者對象的權限條目數量,如果確實進行此檢查,我肯定會將對像上的 ACL 轉儲到文本文件或命令行並檢查它。這樣更快,更少腕管。)