Wednesday 22 August 2007

Vbscript list users in domain or find disabled users

You can list users computers etc with this script in domain. If you want to list only disabled users read following script.


Set A=GetObject("LDAP://DC=domain,DC=co,DC=uk")
EnumerateUsers A
Sub EnumerateUsers(oCont)
Dim x
For Each x In oCont
Select Case LCase(x.Class)
Case "user"
Wscript.Echo "User: "& x.Get ("name") & ";" & x.displayName & ";" & x.givenname &";"& x.sn & ";" & x.userAccountControl & ";" & x.userprincipalName & ";" & x.createTimeStamp & ";" & x.sAMAccountName & ";" & x.distinguishedName
'If you want to get disable users comment out three following lines and comment previos line
'If x.userAccountControl=66050 Then
' wscript.echo "User:" & x.Get ("name")
'Else
'End If
Case "computer"
'Wscript.Echo "Computer: "& x.Get ("name") & ";" & x.operatingSystem & ";" & x.operatingSystemVersion & ";" & x.operatingSystemServicePack & ";" & x.distinguishedName
Case "volume"
'Wscript.Echo "Volume: "& x.Get ("name") & ";" & x.uNCName & ";" & x.distinguishedName
Case "group"
'Wscript.Echo "Group: "& x.Get ("name") & ";" & x.distinguishedName
Case "site"
'WScript.Echo x.distinguishedName
Set objRootDSE = GetObject("LDAP://RootDSE")
strConfigurationNC = objRootDSE.Get("configurationNamingContext")
strSitesContainer = "LDAP://CN=Servers,CN=" & x.cn & ",cn=Sites," & strConfigurationNC
Set objSitesContainer = GetObject(strSitesContainer)
objSitesContainer.Filter = Array("server")
For Each objSite In objSitesContainer
'WScript.Echo objSite.Name
'Wscript.Echo "Site: "& x.cn & ";" & objSite.Name & ";" & x.description & ";" & x.distinguishedName
Next
Case "organizationalunit" , "container"
EnumerateUsers x
'Wscript.Echo "OU |Container: "& x.Get ("name") & ";" & x.ou & ";" & x.distinguishedName
Case Else
'Wscript.Echo x.Class&": " & x.distinguishedName
End Select
Next
End Sub

No comments: