On Error Resume Next
Const SCP = "MS Virtual Server"
' Add as many lines as needed for the domains in your org.
DoQuery "DC=yourdomain,DC=com", "YOURDOMAIN", SCP
Sub DoQuery(szDomainDN, szDomainShortName, szSCP)
Set oConnection = CreateObject("ADODB.Connection")
Set oCommand = CreateObject("ADODB.Command")
oConnection.Provider = ("ADsDSOObject")
oConnection.Open "Ads Provider"
oCommand.ActiveConnection = oConnection
oCommand.Properties("Page Size") = 99
oCommand.Properties("Searchscope") = &H2 'ADS_SCOPE_SUBTREE
oCommand.Properties("Chase Referrals") = &H60 'ADS_CHASE_REFERRALS_ALWAYS
oCommand.CommandText = "select distinguishedName from 'LDAP://" & szDomainDN & "' " & _
"where objectCategory='serviceConnectionPoint' " & _
"and cn='" & szSCP & "'"
Set oRecordSet = oCommand.Execute
If Err Then
wscript.echo "ERROR: Unable to find Domain Rooted at: " & szDomainDN
exit sub
End If
If Not oRecordSet.EOF Then
wscript.echo szDomainShortName & ":" & oRecordSet.RecordCount
' If you want to enumerate the machine names, uncomment this block
'oRecordSet.MoveFirst
'Do Until oRecordSet.EOF
' szNodeName = oRecordSet.Fields("distinguishedName")
'szNodeName = Mid(szNodeName, InStr(szNodeName, ",CN=") + 4) ' Trim "CN=<szSCP>,CN="
' szNodeName = Left(szNodeName, InStr(szNodeName, ",") - 1) ' Trim the domain DN
' wscript.echo szNodeName
' oRecordSet.MoveNext
'Loop
Else
wscript.echo szDomainShortName & ": 0"
End If
Set oRecordSet = Nothing
Set oCommand = Nothing
oConnection.Close
Set oConnection = Nothing
End Sub