This is somewhat related to this question: Batch file to MASS ping group of computers on network by name, check reply, and resolve hostname
Long story short...I am working on a Vista upgrade project...we essentially have no reliable set of data indicating what machines we have on our network, who is the primary user, what operating system is currently running, etc.
Relevant(?) details of our network environment are:
DNS is AD integrated and uses secure dyanamic updates. Scavenging is set to 7 days. DHCP leases for workstations are set to 8 days. AD servers are 2003 R2 SP2. We have a mixture of Windows 2000, Windows Vista, Windows Server 2003 clients.
Ideally, the kind of information I would like to have is:
LoginDateTime (or, SCCM poll Time), UserName, MachineName, IP Address, MAC Address, Operating System
So I am hoping that this will give me an accurate view of what we are presently running. One pitfall is, when machines are upgraded over night, and the machine name changes from CGYxxxxx to NADxxxxx, the next morning when I rerun my query, I hope to be able to detect the presence of this new machine on the network (and, based on MAC Address, I should be able to assume the old computer name is now "dead").
Does anyone know if it is possible to pull this info using WMI, if it can be pulled from Windows 2000 clients, where workstations may or may not be running an SCCM client, and how reliable and up to date the information may be.
Update
See also (using powershell): Scripting inventory of machine name, current username, Operating System using WMIC or powershell