Windows

獲取 ADGroupMember組_____一時之間______Gr這在pF一種一世ls在H和nGroup fails when組包含來自其他域的主體

  • September 1, 2020

我注意到,當我使用 Powershell 獲取 Active Directory 域安全組的組成員身份時,Powershell cmdletGet-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 委派,則無法進行模擬/委派。

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