Afficher un message
Vieux 02/10/2007, 18h52   #2
Richard Mueller [MVP]
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: list all users created today


"Simon G" <SimonG@discussions.microsoft.com> wrote in message
news:18349334-27A4-4F68-86CF-3393C81E8568@microsoft.com...
> Hello all.
>
> I have an ou in which all new users are created. I currently have a script
> which will list all the members of the ou and some of their attributes.
>
> What i want to do is to be able to list this, but only for users who have
> been created today.
>
> Here is the script i am currently using - how can i include the "where
> user
> was created today" statement?
>
> on error resume next
>
> Const ADS_SCOPE_SUBTREE = 2
>
> Set objConnection = CreateObject("ADODB.Connection")
> Set objCommand = CreateObject("ADODB.Command")
> objConnection.Provider = "ADsDSOObject"
> objConnection.Open "Active Directory Provider"
> Set objCommand.ActiveConnection = objConnection
> Set objFS = CreateObject("Scripting.FileSystemObject")
> Set objNewFile = objFS.CreateTextFile("newstarters.csv")
>
> objCommand.Properties("Page Size") = 1000
> objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
>
> objCommand.CommandText = _
> "SELECT ADsPath FROM 'LDAP://ou=new starters,,DC=domain,DC=com' WHERE "
> _
> & "objectCategory='user'"
> Set objRecordSet = objCommand.Execute
>
> objRecordSet.MoveFirst
> objnewfile.writeline "samaccountname" & "," & "givenname" & "," & "sn" &
> ","
> & "description"
> Do Until objRecordSet.EOF
> strPath = objRecordSet.Fields("ADsPath").Value
> Set objuser = GetObject(strPath)
>
> objNewFile.WriteLine objuser.samaccountname & "," & objuser.givenname &
> ","
> & objuser.sn & "," & objuser.description
> objRecordSet.MoveNext
> Loop


If today is 20071002000000 (yyyymmddhhnnss) then you can use:

"SELECT ADsPath FROM 'LDAP://ou=new starters,DC=domain,DC=com' " _
& " WHERE objectCategory='person' " _
& "AND objectClass='user' " _
& "whenCreated>='20071001000000.0Z'"

I use objectCategory=person and objectClass=user to omit contact objects and
computers. The ".0Z" means UTC, so you may need to adjust for your time
zone. For an offset (differential) of +5 hours, it would be:

"whenCreated>='20071001000000.0+0500'"

The formula is:

GMT=Local+differential

Where GMT is the old acronym for UTC (Coordinated Universal Time in French)
and Local is the local time (in your time zone). Ordinarily these few hours
don't matter, but if you are searching for objects created since midnight,
it can matter.

--
Richard Mueller
Microsoft MVP Scripting and ADSI
Hilltop Lab - http://www.rlmueller.net
--


  Réponse avec citation
 
Page generated in 0,06893 seconds with 9 queries