Försöker importera/exportera användare mellan AD och ett sidobyggt system.VBA ADSDSOObject - konvertering objectSID från Variant (i VBA) till SDDL-format
Mitt problem är att objectSID returneras som en variant och jag vet inte hur jag omvandlar denna till en sträng (misstänker det kallas SDDL-format).
Någon som kan tipsa mig hur man får detta att funka i Excel 2007.
Alltså frågan är: Hur kan man konvertera RS("objectSID") till en giltig SID-sträng?
Koden är enkel:
Set rootDSE = GetObject("LDAP://RootDSE")
DomainContainer = rootDSE.Get("defaultNamingContext")
Set oOU = GetObject("LDAP://DC=foretaget,DC=local")
'
Set conn = CreateObject("ADODB.Connection")
conn.Provider = "ADSDSOObject"
conn.Open "ADs Provider"
ldapStr = "<LDAP://" & DomainContainer & ">;(&(objectClass=group)(cn=G_I_foretaget_All));adspath,cn,objectSid,distinguishedName,member;subtree"
Set rs = conn.Execute(ldapStr)
If rs.BOF = False Or rs.EOF = False Then
Do While rs.EOF = False
SID = rs("objectSID")
' Ovanstående returnerar inte SID som en sträng utan som en variant
rs.movenext
Loop
End if
rs.close
conn.close
set rs=nothing
set conn=nothing
BTW: Här hittar jag intressant sida som jag dock inte kan CopyPaste och köra:
http://vbcity.com/forums/t/102998.aspx
...Verkar vara annan hantering i VB än i VBA.. :)