2

ActiveDirectoryグループにユーザーを追加するためのメソッドAddUserToGroupがあります。

ユーザーとグループを含むドメインコントローラーに接続されていないマシンでメソッドを呼び出しています。

group.Save()が呼び出されると、PrincipalOperationExceptionがスローされます。

ドメインに関する情報を取得できませんでした(1355)。

ADは、ドメインに登録されていないクライアントからの変更を防ぎますか?同じクライアントからドメインに問題なくクエリを実行できます(たとえば、グループ内のユーザーを返すことができます)。

ユーザーをグループに追加する方法:

public static void AddUserToGroup(string userId, 
                                  string groupName)
{
    try
    {
        using (var pc = GetPrincipalContextFromConfig())
        {
            var group = GroupPrincipal.FindByIdentity(pc, groupName);
            try
            {
                group.Members.Add(pc, IdentityType.Guid, userId);
                group.Save();
            }
            catch (PrincipalExistsException e)
            {
              //...
            }                                                                
        }
    }
    catch (DirectoryServicesCOMException e)
    {                
        //...
    }
}
4

1 に答える 1

2

アプリケーションが実行されている ID が何であれ、AD への「書き込み」アクセス権が必要です。ほぼすべての ID が AD にクエリを実行できますが、AD に書き込むことができるのは、特権を明示的に付与された ID だけです。

于 2010-02-01T13:10:03.390 に答える