Read a Computer 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-a-computer-object ADSI class can be used in ActiveXperts Network Monitor to monitor your servers.
Example(s)
strContainer = "" strName = "EzAdComputer" On Error Resume Next '*********************************************** '* Connect to an object * '*********************************************** Set objRootDSE = GetObject("LDAP://rootDSE") If strContainer = "" Then Set objItem = GetObject("LDAP://" & _ objRootDSE.Get("defaultNamingContext")) Else Set objItem = GetObject("LDAP://cn=" & 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 strdnsHostName = objItem.Get("dnsHostName") WScript.Echo "dnsHostName: " & strdnsHostName strdescription = objItem.Get("description") WScript.Echo "description: " & strdescription WScript.Echo VbCrLf & "** General Properties Page**" WScript.Echo "** (The userAccountControl attribute) **" Set objHash = CreateObject("Scripting.Dictionary") objHash.Add "ADS_UF_TRUSTED_FOR_DELEGATION", &h80000 objHash.Add "ADS_UF_WORKSTATION_TRUST_ACCOUNT", &h1000 objHash.Add "ADS_UF_SERVER_TRUST_ACCOUNT", &h2000 intuserAccountControl = objItem.Get("userAccountControl") For Each Key in objHash.Keys If objHash(Key) And intuserAccountControl Then WScript.Echo Key & " is enabled." Else WScript.Echo Key & " is disabled." End If Next If intuserAccountControl AND objHash.Item("ADS_UF_TRUSTED_FOR_DELEGATION") Then WScript.Echo "Trust computer for delegation" Else WScript.Echo "Do not trust the computer for delegation" End If If intuserAccountControl AND objHash.Item("ADS_UF_SERVER_TRUST_ACCOUNT") Then WScript.Echo "Role: Domain Controller" Else WScript.Echo "Role: Workstation or Server" End If WScript.Echo VbCrLf & "** Operating System Properties Page**" WScript.Echo "** (Single-Valued Attributes) **" stroperatingSystem = objItem.Get("operatingSystem") WScript.Echo "operatingSystem: " & stroperatingSystem stroperatingSystemVersion = objItem.Get("operatingSystemVersion") WScript.Echo "operatingSystemVersion: " & stroperatingSystemVersion stroperatingSystemServicePack = objItem.Get("operatingSystemServicePack") WScript.Echo "operatingSystemServicePack: " & stroperatingSystemServicePack WScript.Echo VbCrLf & "** Member Of Properties Page**" WScript.Echo "** (Single-Valued Attributes) **" strprimaryGroupID = objItem.Get("primaryGroupID") WScript.Echo "primaryGroupID: " & strprimaryGroupID WScript.Echo VbCrLf & "** Member Of Properties Page**" WScript.Echo "** (MultiValued Attributes) **" strmemberOf = objItem.GetEx("memberOf") WScript.Echo "memberOf:" For Each Item in strmemberOf WScript.Echo vbTab & Item Next WScript.Echo VbCrLf & "** Location Properties Page**" WScript.Echo "** (Single-Valued Attributes) **" strlocation = objItem.Get("location") WScript.Echo "location: " & strlocation 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