2014-01-06 33 views
0

我有兩個Windows服務(一個作爲網絡服務運行,另一個作爲本地系統運行)。而運行這些服務的系統是域的一部分。這些服務使用活動目錄作爲中央存儲,並且想法是能夠從該存儲添加/刪除/讀取條目。作爲網絡服務/本地系統運行的服務:未能添加條目到ActiveDirectoryContainer(DirectoryOperationException:沒有權限)

我們只是使用System.DirectoryServices.Protocols.LdapConnection.BeginSendRequest(DirectoryRequest請求.... http://msdn.microsoft.com/en-us/library/system.directoryservices.protocols.ldapconnection.beginsendrequest(v=vs.110).aspx)並傳遞AddRequest作爲輸入來向Active Directory添加條目。

但是,該操作與System.DirectoryServices.Protocols一起失敗。 DirectoryOperationException帶消息用戶有不足的訪問權限(對於網絡服務以及計算機/本地系統帳戶同樣的錯誤)。但我確實將計算機帳戶添加到Active Directory中的商店,並授予商店的完整權限。我不確定我缺少什麼?

即使計算機帳戶已授予完全權限,是否無法在活動目錄上添加/刪除條目? (我認爲本地系統/網絡服務只是通過網絡傳遞計算機憑證 - 我已經快速地看到以下鏈接供參考The difference between the 'Local System' account and the 'Network Service' account?http://technet.microsoft.com/en-us/library/bb680595.aspx

順便說一句,請注意,只要我運行服務域用戶帳號該操作正在通過。和搜索(讀取操作)正在通過所有帳戶。

任何建議表示讚賞:)

關心!

回答

1

我打算把這個作爲答案而不是評論,儘管我還不確定它是否會有所幫助。

當接近這樣的權限問題時,我傾向於按照集合來思考。我首先查看提供給您的兩種不同測試用例,機器帳戶和服務帳戶的一組成員資格,其中包含如下所述的PowerShell腳本:https://stackoverflow.com/a/20410668/44656

您的服務帳戶有可能通過間接成員資格授予了您的計算機帳戶不允許的權限。

如果這不能說明問題,則可以嘗試在ActiveDirectory服務器上啓用審覈並查找失敗的訪問嘗試。通常,一個失敗的權限檢查並不能體現爲什麼某些東西被拒絕。審計可以通過全局審計策略進行配置,並對您感興趣的特定對象設置SACL。

1

您可能會錯誤地認證問題與授權問題。當然,沒有什麼可行的時候,很難把它們分開。

您在AD設置的權利可能沒問題,但您永遠不會到達那裏。在承載Active Directory的計算機的安全事件日誌中,可能會拒絕網絡登錄\\server_a的訪問。在Active Directory服務器上,爲計算機帳戶(SERVER_A)授予「從網絡訪問此計算機」權限。

它將解決認證部分,讓過程收購將由Active Directory中用於執行授權的訪問令牌。

如果您處於小批量實驗室中,還可以嘗試啓用Active Directory Diagnostic LoggingSecurity Events註冊表項。

相關問題