$objRootDSE = GetObject("LDAP://rootDSE")
$defaultNamingContext = $objRootDSE.Get("defaultNamingContext")
GetOU("staff",$defaultNamingContext)
? "Done!"
Get $a
Function GetOU($OrgUnit,$defaultNamingContext)
	;$Domain.organizationalUnit
  $Domain = GetObject("LDAP://" + $defaultNamingContext)
	For Each $OU1 in $Domain
		If $OU1.Class = "organizationalUnit"
			$Object = $OU1.Name
      $OUArray = Split($Object,",")
			If $OUArray[0] = "OU=" + $OrgUnit
				? $Object
				$Users = GetObject("LDAP://" + $Object + "," + $defaultNamingContext)
				For Each $User in $Users
					If $User.Class = "User"
						? "     " + $User.Name
					EndIf
				Next
			EndIf
			GetOU1($Object,$OrgUnit,$defaultNamingContext)
		EndIf
	Next
EndFunction
Function GetOU1($Object,$OrgUnit,$defaultNamingContext)
	
	$Domain1 = GetObject("LDAP://" + $Object + "," + $defaultNamingContext)
	
	;$Domain.organizationalUnit
	For Each $OU2 in $Domain1
		If $OU2.Class = "organizationalUnit"
			$Object1 = $OU2.Name
			$Object2 = $Object1 + "," + $Object
      $OUArray = Split($Object2,",")
			If $OUArray[0] = "OU=" + $OrgUnit
				? $Object2
				$Users = GetObject("LDAP://" + $Object2 + "," + $defaultNamingContext)
				For Each $User in $Users
					If $User.Class = "User"
						? "     " + $User.Name
					EndIf
				Next
			EndIf
			GetOU1($Object2,$OrgUnit,$defaultNamingContext)
		EndIf
	Next
EndFunction