Windows 2016 서버로 작업할 때 LDAP를 통해 휴지통을 어떻게 쿼리합니까? 저장소는 활성 상태이며 AD 관리 센터에 따르면 현재 어제 제거한 2개의 OU가 포함되어 있습니다. 을 통해잘 알려진 개체, AD는 빈 위치를 다음과 같이 제공합니다 cn=Deleted Objects,dc=example,dc=com
.
그러나 해당 DN을 쿼리하면 objectClass=*
두 항목 모두 반환되지 않습니다.
# extended LDIF
#
# LDAPv3
# base <CN=Deleted Objects,DC=example,DC=com> with scope subtree
# filter: (objectClass=*)
# requesting: ALL
#
# search result
search: 5
result: 32 No such object
matchedDN: CN=Deleted Objects,DC=example,DC=com
text: 0000208D: NameErr: DSID-03100241, problem 2001 (NO_OBJECT), data 0, best
match of:
'CN=Deleted Objects,DC=example,DC=com'
# numResponses: 1
서버에 실제로 필요한 것은 무엇입니까?
편집: 문제를 좀 더 자세히 조사한 결과 MS에는 특정 LDAP 제어 기능이 있는 것 같습니다.LDAP_SERVER_SHOW_DELETED_OID
정확히 이 사용 사례에 대한 것입니다. 그러나 -e 1.2.840.113556.1.4.417
다음에 추가하여 삭제된 개체를 표시할 수는 없었습니다.LDAP검색기도.
답변1
대답은 AD가 재활용 쓰레기통에 일종의 액세스 제어를 적용한다는 것입니다. 관리 티켓을 사용하면 갑자기 작동합니다.
$ kinit [email protected]
$ ldapsearch -v -R EXAMPLE.COM \
-H ldap://windowsbox.example.com:389 \
-b 'CN=Deleted Objects,DC=example,DC=com' \
-E '!1.2.840.113556.1.4.417' \
-s sub \
'(objectClass=*)' \
distinguishedName
# Deleted Objects, example.com
dn: CN=Deleted Objects,DC=example,DC=com
distinguishedName: CN=Deleted Objects,DC=example,DC=com
…
# Comnisca
DEL:97f85a86-f326-4df1-b747-4bc9002b28c2, Deleted Objects, example.com
dn: CN=Comnisca\0ADEL:97f85a86-f326-4df1-b747-4bc9002b28c2,CN=Deleted Objects,
DC=example,DC=com
distinguishedName: CN=Comnisca\0ADEL:97f85a86-f326-4df1-b747-4bc9002b28c2,CN=D
eleted Objects,DC=example,DC=com
…
루트만 재활용 쓰레기통에 접근할 수 있다고 누가 생각이나 했을까요?
휴지통에 대한 다양한 액세스 방법을 관리하는 권한은 이 문서의 "Active Directory 휴지통 작업 위임" 섹션에 설명되어 있습니다. https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd392260%28v%3dws.10%29