Skip to main content

Imports Users in Active Directory to SQL Server

' Bind to RootDSE - this object is used to
' get the default configuration naming context
' e.g. dc=wisesoft,dc=co,dc=uk
set objRootDSE = getobject("LDAP://RootDSE")

' Root of search set to default naming context.
' e.g. dc=wisesoft,dc=co,dc=uk
' RootDSE saves hard-coding the domain.
' If want to search within an OU rather than the domain,
' specify the distinguished name of the ou. e.g.
' ou=students,dc=wisesoft,dc=co,dc=uk"
strRoot = objRootDSE.Get("DefaultNamingContext")

' Filter for user accounts - could be modified to search for specific users,
' such as those with mailboxes, users in a certain department etc.
strfilter = "(&(objectCategory=Person)(objectClass=User))"

' Attributes to return from the query
strAttributes = "sAMAccountName,userPrincipalName,givenName,sn," & _
"displayName,mail, " & _
"title,department," & _
"manager"

'Scope of the search. Change to "onelevel" if you didn't want to search child OU's
strScope = "subtree"

set cn = createobject("ADODB.Connection")
set cmd = createobject("ADODB.Command")

cn.open "Provider=ADsDSOObject;"
cmd.ActiveConnection = cn
cmd.commandtext = ";" & strFilter & ";" & _
strAttributes & ";" & strScope

set rs = cmd.execute

' Copy Field names to header row of worksheet

'Object for SQLSERVER
set cn2 = CreateObject("ADODB.Connection")

cn2.open "Provider=SQLNCLI;Server=SERVER_NAME;Database=DB_NAME;Trusted_Connection=yes;"

If rs.RecordCount > 0 then

rs.MoveFirst

cn2.execute "TRUNCATE TABLE UsersInAD"

While not rs.EOF

cn2.execute _
"INSERT INTO UsersInAD ([sAMAccountName], [userPrincipalName], [givenName], " & _
"[sn], [displayName], [mail], " & _
"[title], [department], [manager] ) " & _
"VALUES (" & _
"'" & rs.Fields("sAMAccountName") & "','" & rs.Fields("userPrincipalName") & "','" & rs.Fields("givenName") & "'," & _
"'" & rs.Fields("sn") & "','" & rs.Fields("displayName") & "','" & rs.Fields("mail") & "'," & _
"'" & rs.Fields("title") & "','" & rs.Fields("department") & "','" & rs.Fields("manager") & "'" & _
")"

rs.MoveNext
Wend

end If


rs.close
cn.close

set rs = Nothing
set cn = Nothing

cn2.Close
set cn2 = Nothing


PS: don't forget to adjust Table name, SQL Server Name, Database Name

Comments

Popular posts from this blog

Crystal Report 2010 - Failed to load database information

"Failed to load database information" error when i try deploy my program with CR 2010 using TTX file as report definition this is because there is missing .dll, call "CRDB_FIELDDEF.DLL"..u need to manually copy the file to "C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86" folder then the report is loading again it said that TTX is old tech but i'm still using it because i don't need to connect the report to any DB, but until i found new one to replace :D check this link to read it [EDIT 25 Jan 2011] i think i'll using ADO.NET Dataset next time :D until then

Resolve Collation error in SQL Server

i often get this error when trying to JOIN some table Cannot resolve the collation conflict between "SQL_Latin1_General_CP850_CI_AS" and "SQL_Latin1_General_CP1_CI_AS" in the equal to operation. u need to use COLLATION when performing the JOIN, something like this SELECT field1 FROM table1 INNER JOIN table2 ON table1.field3 COLLATE DATABASE_DEFAULT = table2.field4 COLLATE DATABASE_DEFAULT i found this when trying to JOIN, maybe it affect other areas..until i found one see u

Session timeout problem in IIS

Hi, Long time no post, i will try to post again since i came out searching a typical solution over and over again :D Now i'm gonna post about session. Since i got this from other link so here it is So I started looking into the IIS settings and came to know that i missed two things to change : Application pool’s Idle Time-out (minutes) Session state  – State server’s Time-out (seconds) Once I have changed above settings than after Session timeout worked. So after that I have made one checklist that can help us to validate Session timeout settings, here i am sharing it with you as well so that you will also get some benefits from it : Application Pool  – Advanced Settings Menu – Process Model – Idle Time-out (minutes) Sites –  Session State  – Cookie Settings – Time-out (minutes) If you are using  State Server  or  SQL Server  to manage your session (instead of InProcess), Here is the steps to follow :    ...