Tôi có hai câu hỏi mà lấy tất cả các nhóm và tất cả người dùng trong một miền, Mydomain
TSQL: Làm thế nào để có được một danh sách các nhóm mà người dùng thuộc về trong Active Directory
--; Get all groups in domain MyDomain
select *
from OpenQuery(ADSI, '
SELECT samaccountname,mail,sn,name, cn, objectCategory
FROM ''LDAP://Mydomain/CN=users,DC=Mydomain,DC=com''
WHERE objectCategory=''group''
ORDER BY cn
')
--; Get all users in domain MyDomain
select *
from OpenQuery(ADSI,'
SELECT objectCategory, cn, sn, mail, name, department,samaccountname
FROM ''LDAP://Mydomaindomain/CN=users,DC=Mydomain,DC=com''
WHERE objectCategory=''user''
ORDER BY cn
')
-- where samaccountname='mylogin'
Những gì tôi muốn tìm hiểu is,
Làm cách nào để bạn truy xuất danh sách tất cả các nhóm trong MyDomain
mà một người dùng cụ thể thuộc về?
[UPDATE] tôi đã có thể để có được kết quả ngược lại
Với tên nhóm, lấy tất cả người dùng
select *
from OpenQuery(ADSI,
'SELECT objectCategory, cn, sn, mail, name, department
FROM ''LDAP://Mydomain/CN=users,DC=wl-domain,DC=com''
WHERE MemberOf=''cn=_____GROUPNAME_____,CN=users,DC=Mydomain,DC=com''
ORDER BY cn'
)
Lý do tôi quyết tâm tìm hiểu về điều này là bởi vì, tôi đã có thể làm ngược lại với tên nhóm, lấy tất cả người dùng thuộc về nhóm. (Câu hỏi được cập nhật cho mục đích này) – Sung
có, bởi vì đó là một danh sách tất cả các mục có giá trị duy nhất, về cơ bản. "MemberOf" cho người dùng là một thuộc tính duy nhất có nhiều giá trị và có nhiều mục (hoàn toàn trái ngược với 1NF trong thiết kế quan hệ) –
với truy vấn của bạn, bạn lấy lại danh sách đối tượng người dùng trong AD - và cho từng đối tượng của họ, bạn chỉ bao giờ truy cập và sử dụng các thuộc tính có giá trị đơn (cn, sn, objectCategory, v.v.) –