Avatar billede steenn Nybegynder
02. april 2009 - 13:42

Skift password

Jeg har lavet en hjemmeside i C# som forbinder til Active Directory og lister alle brugere i en OU. Når en bruger vælges, kan der skiftes password. Det mærkelige er, at alt kører og ingen fejl rapporteres, men password bliver ikke skiftet. Websiden køres fra en Win 2003 DC. Fejlen skyldes ikke, at brugeren ikke bliver fundet. I webconfig er angivet impersonation=true. Jeg laver ikke forbindelse via en særlig port, fx port 389, som jeg godt nok har set nogle eksempler på. Kan det være årsagen?

DirectoryEntry de = GetUser(TextBox3.Text);

  try
      {
      de.Invoke("SetPassword", TextBox3.Text);
      de.CommitChanges();
      de.Close();
      headerLabel.ForeColor = System.Drawing.Color.Black;
      headerLabel.Text = "Password er nu ændret for " + TextBox3.Text;
      }
      catch (Exception ex)
      {
      headerLabel.Text = ex.ToString();
      }

Koden for GetUser ser således ud:

private DirectoryEntry GetUser(string UserName)
    {
        DirectoryEntry de = GetDirectoryObject();
        DirectorySearcher deSearch = new DirectorySearcher();
        deSearch.SearchRoot = de;
        string filter = "(CN=" + UserName + ")";
        deSearch.Filter = filter;
        deSearch.SearchScope = SearchScope.Subtree;
        SearchResult results = deSearch.FindOne();

        if (!(results == null))
        {
            de = new DirectoryEntry(results.Path, admin_brugernavn, admin_password, AuthenticationTypes.Secure);
            de.RefreshCache();
            return de;
           
        }
        else
        {
            return null;
        }
    }
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester