1

情報(グループのメンバー)を取得しようとしています。

「ドメインに関する情報を取得できませんでした (1355)」というメッセージが毎回表示されます。

グループを取得するために、2回だけ試してみました。1 回目は機能しませんが、2 回目はグループが表示されます。しかし、グループのメンバーを取得するために、私は何もしません。

        PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "192.168.178.105:3268", "DC=ibcdev,DC=local", ContextOptions.Negotiate, "Administrator", "123");
        // define a "query-by-example" principal - here, we search for a GroupPrincipal 
        GroupPrincipal qbeGroup = new GroupPrincipal(ctx);

        // create your principal searcher passing in the QBE principal    
        PrincipalSearcher srch = new PrincipalSearcher(qbeGroup);

        // find all matches
        try
        {
            var re2s = srch.FindAll().ToList();
        }
        catch (Exception)
        {
        }
        var res = srch.FindAll();
        foreach (Principal found in res)
        {
            Console.WriteLine(found.SamAccountName);
            var group = GroupPrincipal.FindByIdentity(ctx, found.Name);
            foreach (var user in group.Members)
            {
                Console.WriteLine(user.SamAccountName);
            }
        }

誰かが私が間違っていることを知っていますか?

よろしく

4

1 に答える 1

0

これは、ドメイン内のグループ メンバーを見つけるために使用するものです。

public List<String> GetIDs(string domainName, string groupName)
{
    using(PrincipalContext ctx = new PrincipalContext(ContextType.Domain, domainName))
    using(GroupPrincipal grp = GroupPrincipal.FindByIdentity(ctx, IdentityType.Name, groupName))
        return (from x in grp.GetMembers(true).AsParallel() select x.SamAccountName).ToList();
}
于 2013-10-01T15:24:24.597 に答える