Wenn ich versuche, die Beschreibung eines Benutzers auf dem Domänencontroller zu aktualisieren, erhalte ich den Fehler UnauthorizedAccessException. Ich habe den Benutzernamen und das Passwort validiert, das ich benutze, ist tatsächlich in der Lage, den Benutzer zu aktualisieren. Ich habe mich als Dienstname und Kennwort angemeldet und die Daten manuell geändert. Hier ist mein Code.ActiveDirectory Aktualisieren eines Benutzers beim Abrufen von UnauthorizedAccessException
private PrincipalContext pc = new PrincipalContext(ContextType.Domain, Common.DCData.serverName, null, ContextOptions.Negotiate, Common.DCData.userName, Common.DCData.password);
public bool Save(UserData data)
{
try
{
UserPrincipal up = UserPrincipal.FindByIdentity(pc, data.userName);
if ((data.DisplayName != null) && (data.DisplayName != "") && (data.DisplayName != up.DisplayName))
up.DisplayName = data.DisplayName;
if ((data.givenName != null) && (data.givenName != "") && (data.givenName != up.GivenName))
up.GivenName = data.givenName;
if ((data.middleName != null) && (data.middleName != "") && (data.middleName != up.MiddleName))
up.MiddleName = data.middleName;
if ((data.surname != null) && (data.surname != "") && (data.surname != up.Surname))
up.Surname = data.surname;
if ((data.emailAddress != null) && (data.emailAddress != "") && (data.emailAddress != up.EmailAddress))
up.EmailAddress = data.emailAddress;
if ((data.voiceTelephoneNumber != null) && (data.voiceTelephoneNumber != "") && (data.voiceTelephoneNumber != up.VoiceTelephoneNumber))
up.VoiceTelephoneNumber = data.voiceTelephoneNumber;
if ((data.description != null) && (data.description != "") && (data.description != up.Description))
up.Description = data.description;
up.Save(pc);
return true;
}
catch(Exception ex)
{
// Some logging goes here
}
}
Die Common.DCData ist eine einfache Klasse, die Daten aus einer Datenbank abruft. Ich habe den Benutzernamen und das Passwort in der Datenbank doppelt überprüft