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)
{
//...
}
}