Windows ADSI、WMI 和注册表。它们之间如何相互关联?

Windows ADSI、WMI 和注册表。它们之间如何相互关联?

我有一个工作任务,涉及设置 Windows XP 计算机。我通常不是 Windows 用户,所以我问了这个问题。

设置其中一台机器所涉及的任务包括设置网络地址、用户和特定的“组策略”,目前我为每台机器手动执行这些操作。自然而然地,我想编写所有这些步骤的脚本,因此我开始阅读注册表和 Windows 脚本。我参考了网络上的各种文章和两本书:

  1. Microsoft Windows 脚本自定进度学习指南
  2. Windows 注册表指南

在我看来,在所有这些信息源之间,存在着微软“技术”的“大杂烩”,这些技术要么重复完成特定任务的方法,要么以独特的方式实现该任务,但文档却令人困惑且不清楚。

我的简单理解是,注册表是计算机上所有信息/数据的容器,而 WMI 和 ADSI 提供了读取或更改它的方法。

  1. 这是正确的吗?如果正确,那么 ADSI 与 WMI 有何关系,反之亦然?
  2. 我是否可以通过直接使用 .vbs 脚本操作注册表(例如更改网络适配器的 IP 地址)来实现我想要的效果?
  3. 有必要使用 ADSI 吗?

答案1

Active Directory 服务接口 (ADSI) 是 Active Directory 的 WMI 层,用于管理用户、组、成员、权限等。Windows 管理规范 (WMI) 只是访问托管数据的手段。Windows 查询语言 (WQL) 是引用 CIM 表的专用 WMI。Windows 注册表只是应用程序配置设置的集合,可以对其进行更新和操作。本质上,如果您正在编写 AD/GPO 脚本,请使用“GPMgmt.GPM”对象(请参阅下面的 IPGM)。请阅读以下内容:

WMI 参考:http://msdn.microsoft.com/en-us/library/windows/hardware/gg463464.aspx
国际地质公园管理局: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

相关内容