Я ищу способ запроса свойства домашней папки служб терминалов пользовательских объектов в Active Directory. Моя цель - иметь возможность выполнять обратный поиск, находя пользователей, которые используют определенную домашнюю папку.
Обычно, чтобы выполнить поиск, я бы сделал что-то вроде этого:
using (var search = new DirectorySearcher())
{
// Find a user based on their telephone number
search.Filter = "(telephoneNumber=999)";
search.PropertiesToLoad.Add("displayName");
var result = search.FindOne();
if(result != null) {....}
}
Но настройки служб терминалов, по-видимому, не имеют ссылочного имени атрибута LDAP - в прошлом устанавливали эти значения Мне приходилось использовать интерфейс IADsTSUserEx с существующим DirectoryEntry для манипулирования TS свойства профиля и домашней папки. Однако это полезно только тогда, когда у меня есть учетная запись пользователя - не очень практично проходить через каждого пользователя в домене и создавать для него объект DirectoryEntry, просто чтобы проверить путь его профиля TS.
Есть ли практический способ выполнить запрос "WHERE User.TerminalServicesProfilePath = X" в .NET?