Chin Huang observes [L1 ] that Microsoft's Active Directory Services Interface (ADSI) [L2 ] exposes a COM interface, so it is accessible through such examples as using 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] }
LV 2009-Sep-15 In the above example, is the domain value a dummy one that one would need to replace when using this in real life? When I try the code literally, I get nothing output.
Also, Franco Violi's TclLDirectory extension is said to understand ADSI.
Yet another way to consider Active Directory is as an instance of LDAP service.
More ADSI-Examples can be found at Matthias Hoffmann - Tcl-Code-Snippets (not yet complete but growing...)