ユーザーが次のようなグループのメンバーであるかどうかを確認しようとしています。
if (conditionalGroup != null)
{
if (!currentUser.IsMemberOf(conditionalGroup))
{
_logger.Debug("Adding user to Specific group.");
conditionalGroup.Members.Add(currentUser);
conditionalGroup.Save();
}
conditionalGroup.Dispose();
}
ただし、これでは失敗します。An error (1789) occurred while enumerating the group membership. The member's SID could not be resolved.
このグループは、ローカルマシンのUsersグループです。IIS_IUSRSグループでも同じことを行いますが、それで問題ありません。これは今日私のビルドマシンで始まったばかりで、以前からずっと機能していました。これはバグですか、それとも私は何か間違ったことをしていますか?
これが私がユーザーを作成する方法です:
pc = new PrincipalContext(ContextType.Machine); currentUser = UserPrincipal.FindByIdentity(pc、u.UserName);
if (currentUser == null)
{
currentUser = new UserPrincipal(pc)
{
Name = u.UserName,
Description = u.UserDescription,
UserCannotChangePassword = false,
PasswordNeverExpires = true
};
currentUser.SetPassword(u.UserPassword);
currentUser.Save();
}