Я использую C# и пытаюсь проверить, существует ли группа в активном каталоге.
string cmd = "New-Object DirectoryServices.DirectoryEntry \"LDAP://cn=" + groupname + " " + LdapDef + ",dc=twu,dc=ca\" | Select-Object name";
string result = execute(cmd);
return true;
Раньше это работало, но с некоторых пор я получаю следующую ошибку всякий раз, когда выполняется вышеуказанный код.
Server was unable to process request. ---> The following exception occurred while retrieving member "name": "There is no such object on the server.
" ---> The following exception occurred while retrieving member "name": "There is no such object on the server.
" ---> There is no such object on the server.
Что здесь не так? Что еще я могу использовать, чтобы получить имя группы, кроме как с помощью «имени».
ОТВЕТ:
Это я использую для поиска в нашем каталоге:
DirectoryEntry objDE;
objDE = new DirectoryEntry("LDAP://cn=computers,dc=lab,dc=test");
static String[] strProperties = { "name" };
DirectorySearcher dd = new DirectorySearcher(objDE, "(&(objectCategory=group)(objectClass=user)(cn=name))", strProperties, SearchScope.Subtree);
Я никогда не смешивал C# и powershell, но это должно показать вам правильное направление.
И не забывай
Using System.DirectoryServices