DC ваш домен. Если вы хотите подключиться к домену example.com, чем ваши DC: DC = пример, DC = com
На самом деле вам не нужно какое-либо имя хоста или IP-адрес вашего контроллера домена (их может быть много) ,
Простое изображение, которое вы подключаете к самому домену. Таким образом, для подключения к домену example.com вы можете просто написать
И все готово.
Вы также можете указать имя пользователя и пароль, используемый для подключения:
DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://example.com", "username", "password");
быть также уверены, чтобы всегда писать LDAP в верхнем регистре. У меня были некоторые неприятности и странные исключения, пока я не прочитал где-нибудь, что я должен попытаться написать его в верхнем регистре, и это решило мои проблемы.
directoryEntry.Path
Недвижимость позволяет вам погрузиться глубже в ваш домен. Поэтому, если вы хотите искать пользователя в определенном подразделении (организационном подразделении), вы можете его установить.
DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://example.com");
directoryEntry.Path = "LDAP://OU=Specific Users,OU=All Users,OU=Users,DC=example,DC=com";
Это будет соответствовать следующей иерархии AD:
Просто напишите иерархию от глубочайшей до самого высокого.
Now you can do plenty of things
Например поиск пользователя по имени учетной записи и получить его фамилию:
DirectoryEntry directoryEntry = new DirectoryEntry("LDAP://example.com");
DirectorySearcher searcher = new DirectorySearcher(directoryEntry) {
PageSize = int.MaxValue,
Filter = "(&(objectCategory=person)(objectClass=user)(sAMAccountName=AnAccountName))"
};
searcher.PropertiesToLoad.Add("sn");
var result = searcher.FindOne();
if (result == null) {
return; // Or whatever you need to do in this case
}
string surname;
if (result.Properties.Contains("sn")) {
surname = result.Properties["sn"][0].ToString();
}
ou = организационное подразделение, dc = компонент домена – paul