Avatar billede fredag1 Nybegynder
16. oktober 2008 - 09:48 Der er 6 kommentarer og
3 løsninger

Actve Directory

Hej
Jeg skriver følgende kode for adding a user i active directory.
--------------------------------

DirectoryEntry de= new DirectoryEntry();
            de.Path = "LDAP://maskinenavn.DC1.DC2.DC3/OU=2006A,OU=elever,OU=Brugere, DC=DC1,DC=DC2,DC=DC3";
            richTextBox1.Text = "Children of" + de.Name + "\n";
            DirectoryEntries users = null;
            if (de!=null) users= de.Children;
            DirectoryEntry user= users.Add("CN=asurname aforname", "user");
            user.CommitChanges();
-----------------------------------------------------
Men der kommer en box og peger på
user.CommitChanges();
og skriver:
Der opstod en begrænsningsfejl. (Undtagelse fra HRESULT: 0x8007202F)
Hvad er galt? Skriv venligst den kode der vil virke.
Avatar billede fredag1 Nybegynder
16. oktober 2008 - 09:50 #1
Og min binding er rigtigt for jeg kan kontakte servern og læse oplysninger
med samme binding.
Men hvorfor CommiteChanges giver fejl?
Avatar billede lasserasch Juniormester
16. oktober 2008 - 12:03 #2
Du mangler at angive samaccountname.

Dette burde virke.


Dette virker:

public string CreateUserAccount(string ldapPath, string userName,
    string userPassword)
{
    try
    {
        string oGUID = string.Empty;
        string connectionPrefix = "LDAP://" + ldapPath;
        DirectoryEntry dirEntry = new DirectoryEntry(connectionPrefix);
        DirectoryEntry newUser = dirEntry.Children.Add
            ("CN=" + userName, "user");
        newUser.Properties["samAccountName"].Value = userName;
        newUser.CommitChanges();
        oGUID = newUser.Guid.ToString();

        newUser.Invoke("SetPassword", new object[] { userPassword });
        newUser.CommitChanges();
        dirEntry.Close();
        newUser.Close();
    }
    catch (System.DirectoryServices.DirectoryServicesCOMException E)
    {
        //DoSomethingwith --> E.Message.ToString();

    }
    return oGUID;
}



/Lasse
Avatar billede fredag1 Nybegynder
16. oktober 2008 - 17:55 #3
Tak Lasse.
Det virkede pludselig da jeg brugte
DirectoryEntry parent = new DirectoryEntry(
  "LDAP://OU= ,DC= ,DC= ",
  null,
  null,
  AuthenticationTypes.Secure
  );
Jeg tror "AuthenticationTypes.Secure" var det der manglede. Jeg brugte dog din
Invoke("SetPassword", new object[] { userPassword }.
Avatar billede fredag1 Nybegynder
16. oktober 2008 - 17:55 #4
tak
Avatar billede fredag1 Nybegynder
16. oktober 2008 - 18:00 #5
Skrive noget så jeg giver point.  Jeg markede Kommentar nu kan jeg ikke
finde ud af det.
Avatar billede lasserasch Juniormester
17. oktober 2008 - 15:06 #6
Svar :-)
Avatar billede fredag1 Nybegynder
17. oktober 2008 - 16:16 #7
Jeg trykede accepter knappen.
Avatar billede lasserasch Juniormester
17. oktober 2008 - 20:31 #8
Du skal vælge mit svar i venstre side ved at klikke på det og herefter klikke "Send" knappen. Så skulle der gerne står "Accepteret svar" ud for mit svar. :-)
Avatar billede fredag1 Nybegynder
17. oktober 2008 - 22:27 #9
Nu tror jeg du fik det.
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