The requirement: given a domain name, to list the machines within it.
This is a little tricky, because how do you define "the machines within a domain"? It's a little easier now, since WinNT+ machines are always domain workstations or servers, rather than simply clients. The code illustrates the use of the WinNT provider, even where Active Directory is not running.
# # From a post to python-win32 by D.W.Harks # http://mail.python.org/pipermail/python-win32/2003-July/001179.html # from __future__ import generators import os, sys import socket import win32com.client import win32net def machines_in_domain (domain_name): adsi = win32com.client.Dispatch ("ADsNameSpaces") nt = adsi.GetObject ("","WinNT:") result = nt.OpenDSObject ("WinNT://%s" % domain_name, "", "", 0) result.Filter = ["computer"] for machine in result: yield machine.Name domain_controller = win32net.NetGetDCName (None, None) domain_name = win32net.NetUserModalsGet (domain_controller, 2)['domain_name'] print "Listing machines in", domain_name for machine in machines_in_domain (domain_name): print machine