function inOU(strUsername, strOU)
inOU = false
ADS_SCOPE_SUBTREE = 2
set objConnection = CreateObject("ADODB.Connection")
set objCommand = CreateObject("ADODB.Command")
set objRootDSE = GetObject("LDAP://RootDSE")
strDomain = objRootDSE.Get("DefaultNamingContext")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
set objCommand.ActiveConnection = objConnection
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = "SELECT distinguishedName FROM 'LDAP://" & strDomain & "' WHERE objectCategory='user' AND samAccountName = '" & strUsername & "'"
set objRecordSet = objCommand.Execute
if not (objRecordSet.EOF) then
strDN = objRecordSet.Fields("distinguishedName").Value
arrDnComponents = split(strDN, ",")
for each strDN in arrDNComponents
if (left(strDN, 3) = "OU=") then
if (lcase(right(strDN, len(strDN) - 3)) = lcase(strOU)) then inOU = true
end if
next
end if
end function
'Examples
strUserName = "dkel22"
msgbox inOU(strUserName, "purple")
msgbox inOU(strUserName, "user")