Sql-Server
為什麼 xp_logininfo 顯示 AD 組的成員較少?
這個問題可能很愚蠢,但它已經讓我困惑了一段時間……
首先,我曾經
xp_logininfo 'groupA', 'members'
顯示GroupA
, 結果的成員,member1
並且member2
被列出,但member3
不是。然後,我用
xp_logininfo 'member3', 'all'
顯示的權限路徑member3
。結果,groupA
被列為 的權限路徑member3
。但是為什麼沒有在第一個語法中member3
列為成員?groupA
我在這裡錯過了什麼嗎?
正如評論中提到的,
xp_logininfo @account_name, 'members'
只會返回該組的下一級成員的列表。這在SQL Server Docs中有解釋。文件還說“如果 account_name 是域帳戶,則列表由域使用者組成”。因此,如果您請求有關域組的資訊,您只會返回域使用者,而不是任何嵌套組。假設 GroupA 是域組,最可能的解釋是 member1 和 member2 是 GroupA 的直接成員,而 member3 是通過 GroupA 中的另一個域組的間接成員。
我們過去遇到過這個問題,這有點煩人!我們最終得到的解決方法是通過 ADSI 上的 openquery 進行 LDAP 查詢,有點像這樣。雖然這是更多的成本……