У меня проблемы, я думаю, с символом *, находящимся в моей организационной единице, когда я выполняю поиск. Группа подразделений называется WorldWide Offices.
У меня есть циклический запрос, который возвращает всех пользователей, входящих в данную группу. Итак, я набираю название группы, и это возвращает меня к группе. Затем я перебираю группу group.members.
Эти участники будут либо пользователем, либо другой группой. Поэтому, если это не пользователь, я бы снова просмотрел его, чтобы проверить, является ли это группой. Члены группы всегда имеют DistinguishedName, и это все, что мне нужно искать.
У меня есть текущий пользователь с DistinguishedName как CN=Smith\, John a.,OU=Laptop,OU=Users,OU=London DC,OU=UK,OU=Worldwide Offices,DC = Наш домен, DC = ЛОКАЛЬНЫЙ.
Я делаю DirectorySearcher, и мой фильтр
Searcher.Filter = "(&(&(objectClass=user)(!(objectClass=computers)))(distinguishedName=CN=Smith\, John a.,OU=Laptop,OU=Users,OU=London DC,OU=UK,OU=*Worldwide Offices*,DC=OurDomain,DC=LOCAL))
Как видите, я думаю, что тот факт, что наша OU имеет * в названии, является причиной того, что она не находит пользователя. Любая другая OU, в которой нет *, кажется, работает. Вот почему я считаю * проблемой.
Кто-нибудь знает, как обойти *проблему, кроме переименования OU?