Mark wrote:
>
> How would you check if a specific user given to you exists anywhere in the
> domain please?
>
> E.G user id is xxx123456 You want to see if that user is defined or not,
> if defined get information. The user may be in a number of unknown and
> different OU's. Assuming the user id you have is the "pre-Windows 2000 logon" name, you can
use the NameTranslate object in a VBScript program to convert this (with the
NetBIOS name of the domain) to the Distinguished Name (DN). The DN indicates
where in the hierarchy of AD the object resides. For more on NameTranslate
see this link:
http://www.rlmueller.net/NameTranslateFAQ.htm
The quick example (#6) shows how to do it. If the user does not exist an
error is raised by the Set method. If desired, you could trap this error.
For example:
=============
' Constants for the NameTranslate object.
Const ADS_NAME_INITTYPE_GC = 3
Const ADS_NAME_TYPE_NT4 = 3
Const ADS_NAME_TYPE_1779 = 1
' Specify the NetBIOS name of the domain and the NT name of the user.
strNTName = "MyDomain\TestUser"
' Use the NameTranslate object to convert the NT user name to the
' Distinguished Name required for the LDAP provider.
Set objTrans = CreateObject("NameTranslate")
' Initialize NameTranslate by locating the Global Catalog.
objTrans.Init ADS_NAME_INITTYPE_GC, ""
' Use the Set method to specify the NT format of the object name.
' Trap error if user does not exist.
On Errro Resume Next
objTrans.Set ADS_NAME_TYPE_NT4, strNTName
If (Err.Number = 0) Then
On Error GoTo 0
' Use the Get method to retrieve the RPC 1779 Distinguished Name.
strUserDN = objTrans.Get(ADS_NAME_TYPE_1779)
Wscript.Echo strUserDN
Else
On Error GoTo 0
Wscript.Echo "User " & strNTName & " does not exist"
End If
--
Richard Mueller
MVP Directory Services
Hilltop Lab -
http://www.rlmueller.net
--