ActiveXperts.com » Administration » Scripts » Adsi » Read an OU object - vbscript

Read an OU object - vbscript

Active Directory Services Interface (ADSI) is a set of COM (Common Object Model) programming Interfaces. Like ODBC, ADSI provides common access to directories by adding a provider for each directory protocol type.

You can use any of the VBScript programs below in ActiveXperts Network Monitor. Click here for an explanation about how to include scripts in ActiveXperts Network Monitor.

On this site, you can find many ADSI samples.

The read-an-ou-object ADSI class can be used in ActiveXperts Network Monitor to monitor your servers.


Example(s)

strContainer = ""
strName = "EzAdOrganizationalUnit"

On Error Resume Next

'***********************************************
'*          Connect to an object                 *
'***********************************************
Set objRootDSE = GetObject("LDAP://rootDSE")
If strContainer = "" Then
  arrNameExceptions = Array("Users","Computers","Builtin","System", _
    "ForeignSecurityPrincipals","LostAndFound")
  For Each name in arrNameExceptions
    If lcase(strName) = lcase(name) Then
      strNameAttrib = "cn="
      Exit For
    Else
      strNameAttrib = "ou="
    End If
  Next
  Set objItem = GetObject("LDAP://" & strNameAttrib & strName & "," & _
    objRootDSE.Get("defaultNamingContext"))
Else
  Set objItem = GetObject("LDAP://ou=" & strName & "," & strContainer & "," & _
    objRootDSE.Get("defaultNamingContext"))
End If
'***********************************************
'*         End connect to an object           *
'***********************************************

WScript.Echo VbCrLf & "** General Properties Page**"
WScript.Echo "** (Single-Valued Attributes) **"
strname = objItem.Get("name")
WScript.Echo "name: " & strname
strdescription = objItem.Get("description")
WScript.Echo "description: " & strdescription
strstreetAddress = objItem.Get("streetAddress")
WScript.Echo "streetAddress: " & strstreetAddress
strpostOfficeBox = objItem.Get("postOfficeBox")
WScript.Echo "postOfficeBox: " & strpostOfficeBox
strl = objItem.Get("l")
WScript.Echo "l: " & strl
strst = objItem.Get("st")
WScript.Echo "st: " & strst
strpostalCode = objItem.Get("postalCode")
WScript.Echo "postalCode: " & strpostalCode
strc = objItem.Get("c")
WScript.Echo "c: " & strc

WScript.Echo VbCrLf & "** Managed By Properties Page**"
WScript.Echo "** (Single-Valued Attributes) **"
strmanagedBy = objItem.Get("managedBy")
WScript.Echo "managedBy: " & strmanagedBy

If strmanagedBy <> "" Then
  Set objItem1 = GetObject("LDAP://" & strManagedBy)
  WScript.Echo "physicalDeliveryOfficeName: " & _
    objItem1.physicalDeliveryOfficeName
  WScript.Echo "streetAddress: " & _
    objItem1.streetAddress
  WScript.Echo "l: " & _
    objItem1.l
  WScript.Echo "c: " & _
    objItem1.c
  WScript.Echo "telephoneNumber: " & _
    objItem1.telephoneNumber
  WScript.Echo "facsimileTelephoneNumber: " & _
    objItem1.facsimileTelephoneNumber
End If

WScript.Echo VbCrLf & "** Object Properties Page**"
WScript.Echo "** (Single-Valued Attributes) **"
strwhenCreated = objItem.Get("whenCreated")
WScript.Echo "whenCreated: " & strwhenCreated
strwhenChanged = objItem.Get("whenChanged")
WScript.Echo "whenChanged: " & strwhenChanged

objItem.GetInfoEx Array("canonicalName"), 0
WScript.Echo VbCrLf & "** Object Properties Page**"
WScript.Echo "** (MultiValued Attributes) **"
strcanonicalName = objItem.GetEx("canonicalName")
WScript.Echo "canonicalName:"
For Each Item in strcanonicalName
 WScript.Echo vbTab & Item
Next

WScript.Echo VbCrLf & "** Group Policy Properties Page**"
WScript.Echo "** (Single-Valued Attributes) **"
strgPLink = objItem.Get("gPLink")
WScript.Echo "gPLink: " & strgPLink
strgPOptions = objItem.Get("gPOptions")
WScript.Echo "gPOptions: " & strgPOptions

If strgPOptions = 1 Then 
  WScript.Echo "Policy inheritance is blocked."
ElseIf strgPOptions = 0 Then 
  WScript.Echo "Policies are inherited."
End If
M