'==========================================================================
'
' NAME: ComputerUserCount.vbs
'
' AUTHOR: Mark D. MacLachlan , The Spider's Parlor
' DATE : 8/10/2006
'
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
' ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED To
' THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
' PARTICULAR PURPOSE.
'
' IN NO EVENT SHALL THE SPIDER'S PARLOR AND/OR ITS RESPECTIVE SUPPLIERS
' BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
' DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
' WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
' ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
' OF THIS CODE OR INFORMATION.
' COMMENT:
'
'==========================================================================
Dim oRootDSE, oConnection, oCommand, oRecordSet
Set oRootDSE = GetObject("LDAP://rootDSE")
Set oConfig = GetObject("LDAP://" & oRootDSE.get("defaultNamingContext"))
Set oConn = CreateObject("ADODB.Connection")
oConn.Provider = "ADSDSOObject"
oConn.Open ""
strQuery1 = "<" & oConfig.adspath & ">;(&(objectClass=Computer));samaccountname;subtree"
Set oRS = oConn.Execute(strQuery1)
While Not oRS.EOF
c = c + 1
oRS.MoveNext
Wend
strQuery2 = "<" & oConfig.adspath & ">;(&(objectClass=User));samaccountname;subtree"
Set oRS = oConn.Execute(strQuery2)
While Not oRS.EOF
u = u + 1
oRS.MoveNext
Wend
MsgBox "Total # Computers:" & c & vbCrlf & "Total # Users:" & u
Set oConfig = Nothing
Set oConn = Nothing
Set oRS = Nothing