ADSI exposes a COM automation interface, so a Tcl extension that
enables Tcl scripts to access COM objects should do the trick.
The following example script requires tcom 3.3 available from
http://www.vex.net/~cthuang/tcom/
# List all users in the domain named "MAIN".
package require tcom
set domain "MAIN"
set collection [::tcom::ref getobject "WinNT://$domain"]
$collection -set Filter [list "User"]
::tcom::foreach item $collection {
puts [$item Name]
}