Хотелось бы обойтись без парсинга свойств
var ds = new DirectorySearcher(new DirectoryEntry("LDAP://SRV")) {Filter = String.Format("(objectsid={0})", sid)};
var g = ds.FindOne();
for(int i = 0; i < g.Properties["member"].Count; i++) //Это работает, но не нравится
{
Console.WriteLine(g.Properties["member"][i]);
}
var gs = new DirectorySearcher(g.GetDirectoryEntry());
gs.SearchScope = SearchScope.Subtree;
foreach(SearchResult result in gs.FindAll()) //Ничего не находит
{
Console.WriteLine(result.GetDirectoryEntry().Path);
}
Здравствуйте, Synapse, Вы писали:
S>Хотелось бы обойтись без парсинга свойств
S>S>var ds = new DirectorySearcher(new DirectoryEntry("LDAP://SRV")) {Filter = String.Format("(objectsid={0})", sid)};
S>var g = ds.FindOne();
S>for(int i = 0; i < g.Properties["member"].Count; i++) //Это работает, но не нравится
S>{
S> Console.WriteLine(g.Properties["member"][i]);
S>}
S>var gs = new DirectorySearcher(g.GetDirectoryEntry());
S>gs.SearchScope = SearchScope.Subtree;
S>foreach(SearchResult result in gs.FindAll()) //Ничего не находит
S>{
S> Console.WriteLine(result.GetDirectoryEntry().Path);
S>}
S>
А собственно почему второй вариант должен работать? Пользователи не "находяться" в группе, они ей "принадлежат". А FindAll находит все, что находиться в объекте gs (и ниже, так как указан флаг Subtree).
Здравствуйте, lerthe61, Вы писали:
L>Здравствуйте, Synapse, Вы писали:
S>>Хотелось бы обойтись без парсинга свойств
S>>S>>var ds = new DirectorySearcher(new DirectoryEntry("LDAP://SRV")) {Filter = String.Format("(objectsid={0})", sid)};
S>>var g = ds.FindOne();
S>>for(int i = 0; i < g.Properties["member"].Count; i++) //Это работает, но не нравится
S>>{
S>> Console.WriteLine(g.Properties["member"][i]);
S>>}
S>>var gs = new DirectorySearcher(g.GetDirectoryEntry());
S>>gs.SearchScope = SearchScope.Subtree;
S>>foreach(SearchResult result in gs.FindAll()) //Ничего не находит
S>>{
S>> Console.WriteLine(result.GetDirectoryEntry().Path);
S>>}
S>>
L>А собственно почему второй вариант должен работать? Пользователи не "находяться" в группе, они ей "принадлежат". А FindAll находит все, что находиться в объекте gs (и ниже, так как указан флаг Subtree).
Спасибо, я разобрался. memberOf={TargetGroupDName} работает (с оговорками на странные глюки нашего домена).