2

I have a work task which involves setting up Windows XP machines. I'm not a Windows user normally which is why I ask this question.

The tasks involved in setting up one of these machines involve setting network addresses, users and specific 'Group Policies' and currently I do this manually for each machine. Naturally I want to script all these steps so I began to read up on the Registry and Windows Scripting. I've referred to various articles on the web and two books:

  1. Microsoft Windows Scripting Self-Paced Learning Guide
  2. Windows Registry Guide Book

Between all these sources of information it appears to me there's a 'hodge-podge' of Microsoft 'technologies' which either duplicate means of accomplishing a specific task or uniquely achieve it but the documentation is confusing and unclear.

My simple way of understanding it is that the Registry is the container of all information/data on a computer while WMI and ADSI provide the means to read or alter it.

  1. Is this correct? And if so how does ADSI relate to WMI and vice-versa?
  2. Can I even achieve what I want by simply manipulating the Registry directly with a .vbs script say for altering the IP address of a network adapter?
  3. Is there any need to use ADSI?
D-Dᴙum
  • 153
  • 1
  • 1
  • 9

1 Answers1

3

Active Directory Services Interface (ADSI) is layer of WMI for active directory for managing users, groups, members, permissions etc. Windows Management Instrumentation (WMI) is simply the means to access managed data. Windows Query Language (WQL) is dedicated WMI that references CIM tables. The windows registry simply a hive of configuration settings for applications, it can be updated and manipulated. Essentially if you're scripting AD/GPO, use 'GPMgmt.GPM' object (see IPGM below). Have a read of the following:

WMI Ref: http://msdn.microsoft.com/en-us/library/windows/hardware/gg463464.aspx
IPGM: http://msdn.microsoft.com/en-us/library/windows/desktop/aa814153(v=vs.85).aspx
ADSI: http://msdn.microsoft.com/en-us/library/windows/desktop/aa772170(v=vs.85).aspx