Where exactly is it dying? 

Does it work for other combinations of attributes? 

Have you looked at the extended error info from the error? Not sure how to do that 
with COM but you can get a network trace and pull it from that. It may possibly give 
you an attribute it is choking on and a DSID. 

I don't know NET, is the &H2 simply a way of saying the integer 2? I.E. Is that line 
clearing the disabled bit?

  joe
 

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brian Desmond
Sent: Sunday, August 29, 2004 9:21 PM
To: [EMAIL PROTECTED]
Subject: [ActiveDir] Constraint Exception

My provisioning utility has taken to blasting constraint exceptions from COM with the 
following block of attributes. It seems to be borking on this combination, but I don't 
see the problem. I have checked twice, I have no students by this name enrolled. It 
was working a couple hours ago too. Code is below too.
 
manager: LDAP://CN=Brian Desmond,OU=Tech 
Dept,OU=Accounts,DC=payton,DC=cps,DC=k12,DC=il,DC=us
description: Student
initials: C
givenname: Captain
displayname: Captain C. Cheese
homedirectory: \\hydrogen\studentfolders\cheesec
homedrive: U:
samaccountname: cheesec
scriptpath: apps.bat
pwdlastset: 0
userprincipalname: [EMAIL PROTECTED]
sn: Cheese
employeeid: 12345678
division: 901


        Public Shared Function CreateUser(ByVal ParentDN As String, ByVal Cn As 
String, ByVal attributes As StringDictionary, ByVal Password As String) As String
            Dim parent As New DirectoryEntry("LDAP://"; & ParentDN)

            Dim user As DirectoryEntry = parent.Children.Add("cn=" & Cn, "user")

            For Each attr As String In attributes.Keys
                If Not attributes(attr) = "" Then
                    user.Properties(attr).Value = attributes(attr)
                    Debug.WriteLine(attr & ": " & attributes(attr))
                End If
            Next

            user.CommitChanges()

            user.Invoke("SetPassword", New Object() {Password})

            user.Properties("userAccountControl").Value = 
CType(user.Properties("userAccountControl").Value, Integer) Xor &H2
            If attributes.ContainsKey("pwdLastSet") Then
                user.Properties("pwdLastSet").Value = 0
            End If
            If attributes.ContainsKey("accountExpires") Then
                user.Invoke("AccountExpirationDate", New Object() 
{CType(attributes("accountExpires"), DateTime)})
            End If
            user.CommitChanges()

            Return CType(user.Properties("distinguishedName").Value, String)
        End Function
    End Class

 
 
Does anyone see what is wrong with this data?
 
--Brian
..jjryãv

List info   : http://www.activedir.org/mail_list.htm
List FAQ    : http://www.activedir.org/list_faq.htm
List archive: http://www.mail-archive.com/activedir%40mail.activedir.org/

Reply via email to