Windows-Server-2008

VBS 腳本不為特定使用者執行

  • January 5, 2015

我有一個 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 轉儲到文本文件或命令行並檢查它。這樣更快,更少腕管。)

引用自:https://serverfault.com/questions/656468