獲取 ADGroupMember組_____一時之間______Gr這在pF一種一世ls在H和nGroup fails when組包含來自其他域的主體
我注意到,當我使用 Powershell 獲取 Active Directory 域安全組的組成員身份時,Powershell cmdlet
Get-ADGroupMember $Group
失敗並顯示錯誤消息:PS C:\> get-adgroupmember MyGroup get-adgroupmember : An operations error occurred At line:1 char:1 + get-adgroupmember MyGroup + ~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (MyGroup:ADGroup) [Get-ADGroupMember], ADException + FullyQualifiedErrorId : ActiveDirectoryServer:8224,Microsoft.ActiveDirectory.Management.Commands.GetADGroupMember
我已嘗試指定
-server $DC
參數,以便 cmdlet 以特定 DC 為目標,然後在重現錯誤時檢查該 DC 上的安全日誌,並且不會生成相關的安全故障審核。我打開了services\NTDS\Diagnostics
密鑰中的所有診斷系統資料庫項,並且在目錄服務日誌中也沒有產生任何有趣的東西。如果我從 MyGroup 中刪除駐留在其他域中的組成員,則 cmdlet 可以正常工作。
有趣的是,我注意到如果我在 DC 本身上本地執行該命令,它就可以工作。但是,當我使用相同的使用者帳戶(域管理員)從成員伺服器遠端執行命令時,它會失敗。
知道有什麼問題嗎?
Active Directory Powershell cmdlet,例如
Get-ADGroupMember
使用 Active Directory Web 服務 (ADWS)。聲明如
“當我在伺服器上本地執行命令時它工作正常,但當我從遠端伺服器執行它時它失敗”
通常是一個危險信號,表明潛在的問題是 Kerberos 委派。
許多服務都利用了 Kerberos 委派,ADWS 也不例外。
那麼讓我們看看我的 Kerberos 票證授予票證(TGT):
C:\> klist tgt Current LogonId is 0:0x95ec6 Cached TGT: ServiceName : krbtgt TargetName (SPN) : krbtgt ClientName : Administrator DomainName : FABTOSO.COM TargetDomainName : FABTOSO.COM AltTargetDomainName: FABTOSO.COM Ticket Flags : 0xe10000 -> renewable initial pre_authent name_canonicalize Session Key : KeyType 0x12 - AES-256-CTS-HMAC-SHA1-96 : KeyLength 32 - 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 StartTime : 4/21/2016 18:42:34 (local) EndTime : 4/22/2016 4:42:34 (local) RenewUntil : 4/28/2016 18:42:34 (local) TimeSkew : + 0:00 minute(s) EncodedTicket : (size: 1109) 0000 61 82 04 51 30 82 04 4d:a0 03 02 01 05 a1 0d 1b a..Q0..M........ 0010 0b 46 41 42 54 4f 53 4f:2e 43 4f 4d a2 20 30 1e .FABTOSO.COM. 0. 0020 a0 03 02 01 02 a1 17 30:15 1b 06 6b 72 62 74 67 .......0...krbtg 0030 74 1b 0b 46 41 42 54 4f:53 4f 2e 43 4f 4d a3 82 t..FABTOSO.COM.. 0040 04 13 30 82 04 0f a0 03:02 01 12 a1 03 02 01 02 ..0............. .........
將注意力轉向 Ticket Flags 欄位。缺了點什麼。此票不可轉寄。
為什麼機票不能轉發?
我取消選中該複選框,用 刷新我的 Kerberos 票證
klist purge
,通過執行任何需要獲取新 tgt(如果我還沒有)的網路活動來獲取新的 tgt,(gpupdate
是一個很好的例子,)再次檢查 TGT,並且我注意到它現在包含了可轉發標誌。現在,Powershell cmdlet 在成員伺服器上按預期工作。
當組包含來自另一個域的安全主體(使用者或組)時,將返回必須跟踪的引用。為了追逐該推薦,ADWS 必須冒充發起原始呼叫的使用者。如果在該使用者帳戶上禁用了 Kerberos 委派,則無法進行模擬/委派。