.NET und UCS: Benutzer anlegen

german

#1

Hallo,

ich habe mir per .NET eine kleines Programm geschrieben, dass mir Domainbenutzer anlegen soll (für Testzwecke und ähnliches).

[code] Using ctx As PrincipalContext = New PrincipalContext(ContextType.Domain, Nothing, AdHost.Host & “/” & AdHost.ContainerUsers & “,” & AdHost.DomainString, AdHost.AdUserName, AdHost.AdUserPassword)

            For Each csvDataRow As CsvStructureDomainUsers In Records

                With csvDataRow
                    _NewUser = New UserPrincipal(ctx, .Username, .Password, True)
                    _NewUser.GivenName = .Firstname
                    _NewUser.Surname = .Lastname
                    _NewUser.DisplayName = .DisplayName
                    _NewUser.EmailAddress = .PrimaryEmailAddress

                End With

                _NewUser.Save()

            Next

        End Using

[/code]

Problem ist nur, wenn das Kennwort die Komplexitätsprüfung nicht besteht, dann kann es nicht übernommen werden. Auf der UCS-Seite gibt es dafür das tolle Kästchen, dass man die Prüfung für diesen Benutzer deaktivern kann.

Hat jemand eine Idee, wie man das in .NET einstellen kann?


#2

Und schon geht es weiter :wink:

Beim setzen von den Eigenschaften, die zusätzlich hinzukommen (kopano4ucsRole, kopanoAccount, kopanoAdmin oder kopanoSharedStoreOnly) kommt es zu dem Fehler, dass die Eigenschaft nicht “vorhanden” ist. Laid JXExplorer sind diese aber so vorhanden. Im Quellcode meiner VB.NET-App werden diese aber nicht “gelesen” (sowie zig andere, die der JXEplorer noch anzeigt)

[code] _BaseEntry = New DirectoryEntry(“LDAP://” & AdHost.Host & “/” & AdHost.ContainerUsers & “,” & AdHost.DomainString, AdHost.AdUserName, AdHost.AdUserPassword, AuthenticationTypes.Secure)

        _dirSearcher.SearchRoot = _BaseEntry
        _dirSearcher.Filter = "(cn=" + UserName + ")"

        _dirSearcher.PropertiesToLoad.Add("kopano4ucsRole")

        _searchResult = _dirSearcher.FindOne()
        If _searchResult IsNot Nothing Then
            _UserEntry = New DirectoryEntry(_searchResult.Path, AdHost.AdUserName, AdHost.AdUserPassword, AuthenticationTypes.Secure)

            _UserEntry.Properties("kopano4ucsRole").Value = Kopano4UcsRole


            _UserEntry.CommitChanges()
        Else
            ' Eintrag wurde nicht gefunden
        End If

[/code]

Meine bisherigen Nachforschungen brachten nur, das evtl. das “Schema” nicht angebunden wäre und deshalb würden die Eigenschaften ignoriert. Leider aber keine weiteren Infos darüber, was man noch anpassen könnte.

Wenn also jemand einen .NET Code (VB oder C#) hat, wäre ich sehr dankbar, wenn er mir die entsprechenden Tipps geben könnte, wie man das UCS-AD über eine eigene Anwendung “befüllen” kann