Share via


在 System Center 2012 Configuration Manager 中扩展架构

ConfigMgr 用户们,你们好。Radu Tomoiaga 将在本文中介绍有关扩展 System Center 2012 Configuration Manager 的 Active Directory 架构的一些详细信息。TechNet 中的几个主题引用了我在本文中重点介绍的部分信息。另外,本文还包括一些额外信息和屏幕截图,旨在帮助您更加轻松地浏览内容。希望这些信息能够帮助您更加顺利地完成 AD 架构扩展过程。 

在安装 System Center 2012 Configuration Manager (ConfigMgr 2012) 时,您必须决定是否扩展 AD Schema 架构。

ConfigMgr 2012 的 Active Directory 架构扩展与 Configuration Manager 2007 使用的架构扩展相比没有变化。如果您为 Configuration Manager 2007 扩展了架构,则无需再为 ConfigMgr 2012 扩展架构。ConfigMgr 2012 使用 Windows Active Directory (AD) 环境来支持它提供的很多功能,可将有关网站和服务的信息发布到 AD。通过这种方式,ConfigMgr 2012 的 AD 客户端可以轻松访问这些信息。但是,为了使用此项功能,必须扩展 AD 架构,以创建特定于 ConfigMgr 2012 的对象和类。扩展架构并不是 ConfigMgr 2012 安装所必需的,但我们建议这样做。

通过为 ConfigMgr 2012 扩展 Active Directory 架构,可以让客户端从可信源检索与 Configuration Manager 相关的多种类型的信息。某些情况下,即便没有扩展 Active Directory 架构,我们也可以通过其他解决方法来检索必要信息,但这些方法的安全性都不如直接查询 Active Directory 域服务。此外,如果没有扩展架构,可能让其他管理员承担很大工作负荷,他们需要创建和维护其他解决方案,例如组织中的计算机和用户的登录脚本和组策略对象 (GPO)。您可在运行 ConfigMgr 2012 安装程序前后扩展 Active Directory 架构,但最好在运行 ConfigMgr 2012 安装程序前进行扩展。对于包含站点服务器的林,只能扩展 Active Directory 架构一次;如果您升级了域控制器上的操作系统,或者提高了域或林功能级别,则无需再次扩展架构。同样,如果您为没有安装服务包的 ConfigMgr 2012 扩展了架构,则无需再为 ConfigMgr 2012 SP1 扩展架构。

扩展 Active Directory 架构是整个林范围的操作,每个林只能进行一次。扩展架构是不可逆的操作,执行此操作的用户必须是架构管理组的成员,或者被委托了修改架构的足够权限。如果您决定扩展 Active Directory 架构,可在安装之前或之后进行扩展。只有在扩展 AD 架构并执行将 ConfigMgr 2012 站点信息发布至 AD 所需的步骤之后,ConfigMgr 2012 才能将信息发布至 AD。

可以使用 extadsch.exe 工具或 ConfigMgr_ad_schema.ldf 文件来扩展 AD 架构。使用 ldf 文件时,您需要编辑和配置该文件。extadsch.exe 使用更加简单,只需双击即可。运行 extadsch.exe 将会在计算机的根目录 C:\ 中写入一个日志文件,命令从该目录启动。您必须是架构管理员才能进行这些更改,建议在扩展架构之前向 AD 管理员确认是否具有权限。如果需要了解发生的情况和执行的更改,您可以查看 ConfigMgr_ad_schema.ldf 文件。

虽然某些 Configuration Manager 功能要求必须扩展架构(例如 Configuration Manager 中的网络访问保护、全局漫游),但我们可以通过一些解决方法,在不扩展架构的情况下启用其他 Configuration Manager 功能。

要让 Configuration Manager 客户端能够成功查询 Active Directory 域服务以定位站点资源,需要以下四项操作:

· 扩展 Active Directory 架构。
· 创建系统管理容器。
· 设置系统管理容器的安全权限。
· 启用 Configuration Manager 站点的 Active Directory 发布。

扩展 Configuration Manager 的架构时,会添加多个类和属性,以供 Active Directory 林中的任何 Configuration Manager 站点使用。由于全局目录在整个林中复制,您必须考虑可能产生的网络流量。在 Windows 2000 林中,扩展架构可以实现整个全局目录的完全同步。而在 Windows 2003 林、Windows 2008 林和 Windows 2008 R2 林中,则只复制新添加的属性。您应该合理地计划扩展架构,将扩展放在复制流量不会对其他依赖网络的进程产生负面影响的时段内进行。

可通过运行 ExtADSch.exe 工具或使用 LDIFDE 命令行工具来导入 ConfigMgr_ad_schema.ldf LDIF 文件内容,来扩展 ConfigMgr 2012 的 Active Directory 架构。上述工具和 LDIF 文件都位于 Configuration Manager 2012 安装文件的 SMSSETUP\BIN\i386 目录下。无论您使用何种方法来扩展架构,都必须满足以下两个条件:

o Active Directory 架构必须运允许更新。在运行 Windows Server 2003、Windows Server 2008,以及 Windows Server 2008 R2 的域中,架构将在默认情况下启用更新。而在运行 Windows 2000 Server 的域中,您必须在架构主机上为 Active Directory 林手动启用更新。

o 用于更新架构的帐户必须是架构管理员组成员或被委托了修改架构的足够权限。

使用 LDIF 文件而不是 ExtADSch.exe 工具来扩展 Active Directory 架构,可以提供更高的透明度,让我们清晰了解 Active Directory 架构进行了哪些更改,并且更加轻松地诊断在架构扩展过程中遇到的问题。

您可使用 LDIFDE 命令行实用程序来使用 LDAP 数据交换格式 (LDIF) 文件将目录对象导入 Active Directory 域服务。要获得比 ExtAdSch.exe 实用程序所能提供的更高透明度,以便清晰了解 Active Directory 架构进行了哪些更改,您可以使用 LDIFDE 实用程序,利用 ConfigMgr_ad_schema.ldf 文件来导入架构扩展信息,该文件位于 Configuration Manager 安装介质的 .\SMSSETUP\BIN\i386 目录下。

使用 LDIFDE 命令行实用工具为 Configuration Manager 扩展 Active Directory 架构

您可以进行以下操作,通过使用 LDIFDE 命令行实用工具来导入存储于 ConfigMgr_ad_schema.ldf 文件中的架构扩展信息,为 Configuration Manager 扩展 Active Directory 架构。

使用 ConfigMgr_ad_schema.ldf 文件扩展 Active Directory 架构

1.使用 NTBACKUP 实用程序创建架构主域控制器的系统状态的备份。

2.断开架构主域控制器与网络的连接。

3.打开位于 Configuration Manager 2012 安装文件的 \SMSSETUP\BIN\I386 目录中的 ConfigMgr_ad_schema.ldf 文件,然后编辑该文件以定义要扩展的 Active Directory 根域。该文件中文本 DC=x 的所有实例都必须替换为要扩展的域的完整名称。

例如,如果要扩展的域的完整名称命名为 widgets.microsoft.com,则文件中 DC=x 的所有实例应更改为 DC=widgets, DC=microsoft, DC=com

4.使用 LDIFDE 命令行实用工具将 ConfigMgr_ad_schema.ldf 文件的内容导入 Active Directory 域服务。

例如,以下命令行会将架构扩展导入 Active Directory 域服务,打开详细日志记录,并在导入过程中创建日志文件:

ldifde –i –f ConfigMgr_ad_schema.ldf –v –j <存储日志文件的位置>。

5.要验证架构扩展是否成功,您可以查看由步骤 3 中所使用的命令行创建的日志文件。

6.如果扩展过程成功,则将架构主域控制器重新连接到网络,并允许它将架构扩展复制到整个 Active Directory 林中的全局编录服务器。

7.如果架构扩展过程不成功,请使用 NTBACKUP 实用程序还原以前的系统状态,以便撤销架构扩展操作,然后再将架构主域控制器重新连接到网络。

使用 ExtADSch.exe 为 Configuration Manager 扩展 Active Directory 架构

您可以通过运行位于 Configuration Manager 2012 安装介质上的 SMSSETUP\BIN\I386 文件夹中的 ExtADSch.exe 文件,扩展 Active Directory 架构。ExtADSch.exe 文件在运行时不显示输出,但它会在系统驱动器的根目录下生成名为 extadsch.log 的日志文件,该文件指示架构更新是否成功完成,或在扩展架构过程中是否遇到任何问题。

使用 extadsch.exe 工具时,如果扩展顺利完成,您将在日志文件中看到以下信息:

Successfully extended the Active Directory schema。

使用 ExtADSch.exe 为 Configuration Manager 扩展 Active Directory 架构时,您应该注意以下限制。

o 不支持在基于 Windows 2000 的计算机上本地运行 ExtADSch.exe 实用程序。要在基于 Windows 2000 的计算机上本地扩展 Active Directory 架构,应使用 ConfigMgr_ad_schema.ldf 文件。

o 通过从 Windows Vista 工作站运行 ExtADSch.exe 来扩展 Active Directory 架构时,您必须在工作站上使用具有本地管理员权限的帐户登录,这样才能在系统驱动器的根目录下创建 extadsch.log

使用 ExtADSch.exe 扩展 Active Directory 架构

1.使用 NTBACKUP 实用程序创建架构主域控制器的系统状态的备份。要启动 NTBACKUP 实用程序,请单击“开始”,单击“运行”,然后键入 ntbackup

2.确保使用作为架构管理员安全组成员的帐户登录到架构主域控制器。

3.运行位于安装介质的 \SMSSETUP\BIN\I386 目录下的 extadsch.exe,将新的类和属性添加到 Active Directory 架构。

4.通过查看位于系统驱动器根目录下的 extadsch.log,验证架构扩展是否成功。

5.如果架构扩展过程不成功,则从步骤 1 中创建的备份,还原架构主机的以前系统状态。这样做可以撤销架构扩展操作,然后再将架构主域控制器重新连接至网络。

通过 Configuration Manager 架构扩展添加的属性和类

为 ConfigMgr 2012 扩展 Active Directory 架构时,会将以下的属性和类添加到 Active Directory 域服务:

属性:

cn=mS-SMS-Assignment-Site-Code

cn=mS-SMS-Capabilities

cn=MS-SMS-Default-MP

cn=mS-SMS-Device-Management-Point

cn=mS-SMS-Health-State

cn=MS-SMS-MP-Address

cn=MS-SMS-MP-Name

cn=MS-SMS-Ranged-IP-High

cn=MS-SMS-Ranged-IP-Low

cn=MS-SMS-Roaming-Boundaries

cn=MS-SMS-Site-Boundaries

cn=MS-SMS-Site-Code

cn=mS-SMS-Source-Forest

cn=mS-SMS-Version

类:

cn=MS-SMS-Management-Point

cn=MS-SMS-Roaming-Boundary-Range

cn=MS-SMS-Server-Locator-Point

cn=MS-SMS-Site

Active Directory 架构扩展可能包含从产品上一版本中迁移,但未被 ConfigMgr 2012 使用的属性和类。例如:

o 属性:cn=MS-SMS-Site-Boundaries

o 类:cn=MS-SMS-Server-Locator-Point

在使用 Configuration Manager 所需的类和属性扩展架构之后,您必须在 Active Directory 域服务中的各个站点服务器域分区的系统容器内创建系统管理容器。由于域控制器不将其系统管理容器复制到林中的其他域,因此必须为托管 Configuration Manager 站点的每个域创建系统管理容器。

虽然每个域在域分区中维护其自有的系统管理容器,但是 Configuration Manager 信息仍会被发布到林的全局编录。这可将各个站点的信息发布到面向林中每个客户端可用的 Active Directory 域服务,无论域成员如何,这一操作均可进行。

扩展架构时,Configuration Manager 不会在 Active Directory 域服务中自动创建系统管理容器。必须为包括 Configuration Manager 主站点服务器或辅助站点服务器的各个域创建一次容器,并将站点信息发布到 Active Directory 域服务。

使用 ADSI 编辑器在 Active Directory 域服务中创建系统管理容器。

手动创建系统管理容器

1.登录帐户需拥有在 Active Directory 域服务内系统容器上创建所有子对象的权限。

2.运行 ADSI 编辑器,并连接到站点服务器所在的域。

3.展开“域”<完全符合域名要求的计算机>,展开<可分辨名称>,右键单击“CN=System”,单击“新建”,然后单击“对象”。

4.在“创建对象”对话框中,选择“容器”,然后单击“下一步”。

5.在“值”对话框中,键入 System Management,然后单击“下一步”。

6.单击“完成”。

在 Active Directory 域服务中创建系统管理容器之后,您必须为站点服务器的计算机帐户授予将站点信息发布到容器所必需的权限。必须为站点服务器计算机帐户授予对系统管理容器及其所有子对象的完全控制权限。如果有辅助站点,则还必须为辅助站点服务器计算机帐户授予对系统管理容器及其所有子对象的完全控制权限。

您可使用 Active Directory 用户和计算机管理工具或 Active Directory 服务界面编辑器(ADSI 编辑器)来授予必要的权限。要使用 Active Directory 用户和计算机管理工具将权限应用于系统管理容器,请完成以下步骤:

1.单击“开始”,再单击“运行”,然后输入 dsa.msc 打开 Active Directory 用户和计算机管理工具。

2.单击“查看”,然后单击“高级功能”。

3.展开“系统”容器。

4.右键单击“系统管理”,然后单击“属性”。

5.在“系统管理属性”对话框中,单击“安全”选项卡。

6.单击“添加”,以添加站点服务器计算机帐户,并为该帐户授予完全控制权限

7.单击“高级”,选择站点服务器的计算机帐户,然后单击“编辑”。

8.在“应用到”列表中,选择“这个对象及全部子对象”。

9.单击“确定”

使用 ADSIEdit 控制台将权限应用于系统管理容器

1.单击“开始”,再单击“运行”,并输入 adsiedit.msc 以打开 ADSIEdit 控制台。

2.如果需要,请连接到站点服务器所在的域。

3.在控制台窗格中,展开站点服务器所在的域,展开“DC=<服务器可分辨名称>”,然后展开“CN=System”。右键单击“CN=System Management”,然后单击“属性”。

4.在“CN=System Management 属性”对话框中,单击“安全”选项卡。

5.单击“添加”,以添加站点服务器计算机帐户,并为该帐户授予完全控制权限

6.单击“高级”,选择站点服务器的计算机帐户,然后单击“编辑”。

7.在“应用到”列表中,选择“这个对象及全部子对象”。

8.单击“确定”。

在将 Configuration Manager 站点信息发布到 Active Directory 域服务时,Configuration Manager 客户端可自动检测服务器定位器点和管理点,而不产生 Windows Internet 名称服务 (WINS) 流量。如果 Configuration Manager 站点信息没有发布到 Active Directory 域服务,您可能需要在 WINS 中手动添加 Configuration Manager 站点角色信息。

在允许 Configuration Manager 站点发布站点信息之后,您可以使用 Active Directory 用户和计算机管理工具或 Active Directory 服务界面编辑器 (ADSI 编辑器),验证站点信息是否发布到 Active Directory 域服务。

您还可以通过查看 hman.log 文件,验证层次结构管理器是否创建了站点代码对象。另外,也可以通过查看 sitecomp.log 文件,验证站点组件管理器是否创建了管理点和服务器定位器点信息。

使用 Active Directory 用户和计算机来验证站点信息是否发布到 Active Directory 域服务

使用 Active Directory 用户和计算机来验证站点及相关信息是否发布到 Active Directory 域服务,此时您不需要确认与单个配置管理器 Active Directory 类和属性相关的值。

使用 Active Directory 用户和计算机来验证站点信息是否发布到 Active Directory 域服务

1.单击“开始”,再单击“运行”,然后输入 dsa.msc 打开 Active Directory 用户和计算机管理工具。

2.单击“查看”,然后单击“高级功能”。

3.在控制台窗格中,展开“系统”容器。

4.单击“系统管理”容器。

5.在结果窗格中,验证站点对象、管理点和服务器定位器点,以及边界信息是否发布到已启用发布的域中的各个站点:

SMS-Site-<站点代码>
SMS-MP-<站点代码>-<站点系统服务器名称>
SMS-<站点代码>-<Active Directory 站点名称或子网>

使用 ADSI 编辑器来验证站点信息是否发布到 Active Directory 域服务

使用 ADSI 编辑器来验证站点及相关信息是否发布到 Active Directory 域服务,并确认与单个配置管理器 Active Directory 类和属性相关的值。

验证站点代码对象创建

1.单击“开始”,再单击“运行”,然后输入 adsiedit.msc 以运行 ADSI 编辑器。

2.如果需要,请连接到站点服务器所在的域。

3.在控制台窗格中,展开站点服务器所在的域,展开“DC=<服务器可分辨名称>”,然后展开“CN=System”,然后单击“CN=System Management”。

4.在打开的窗格中,右键单击“CN=SMS-Site-<站点代码>”,然后单击“属性”。

5.验证以下属性是否显示:

属性

语法

msSMSAssignmentSiteCode

不区分大小写的字符串

<站点代码>

msSMSRoamingBoundaries

不区分大小写的字符串

<Active Directory 站点名称或子网>

msSMSSiteCode

不区分大小写的字符串

<站点代码>

如果站点对象没有发布或者包含错误数据,请查看 <ConfigMgrInstallationPath>\Logs 文件夹中的 hman.log 文件以确认失败。

验证管理点信息创建

1.单击“开始”,再单击“运行”,然后输入 adsiedit.msc 以运行 ADSI 编辑器。

2.如果需要,请连接到站点服务器所在的域。

3.在控制台窗格中,展开站点服务器所在的域,展开“DC=<服务器可分辨名称>”,然后展开“CN=System”,然后单击“CN=System Management”。

4.确认对于每个管理点都有 CN=SMS-MP-<站点代码>-<管理点计算机名称> 对象。

5.右键单击“CN=SMS-MP-<站点代码>-<默认管理点计算机名称>”,然后单击“属性”。

6.验证以下属性是否显示:

属性

语法

msSMSDefaultMP

Boolean

TRUE

msSMSMPName

不区分大小写的字符串

<默认管理点计算机名称>

msSMSSiteCode

不区分大小写的字符串

<站点代码>

如果您没有为每个管理点发布对象,或者默认管理点的信息不正确,请查看 <ConfigMgrInstallationPath>\Logs 文件夹中的 Sitecomp.log 文件以确认失败。

有关如何配置 AD 发布的更多信息

Configuration Manager 新增功能:https://technet.microsoft.com/zh-cn/library/gg699359.aspx

确定是否为 Configuration Manager 扩展 Active Directory 架构:https://technet.microsoft.com/zh-cn/library/gg712272

确定是否应该扩展 Active Directory 架构:https://technet.microsoft.com/zh-cn/library/bb694066.aspx

如何为 Configuration Manager 扩展 Active Directory 架构:https://technet.microsoft.com/zh-cn/library/bb633121.aspx

如何使用 LDIF 文件扩展 Active Directory 架构:https://technet.microsoft.com/zh-cn/library/bb632388.aspx

如何使用 ExtADSch.exe 扩展 Active Directory 架构:https://technet.microsoft.com/zh-cn/library/bb680608.aspx

如何在 Active Directory 域服务中创建系统管理容器:https://technet.microsoft.com/zh-cn/library/bb632591.aspx

如何为 Active Directory 域服务中的系统管理容器设置安全性:https://technet.microsoft.com/zh-cn/library/bb633169.aspx

如何验证站点信息是否发布到 Active Directory 域服务:https://technet.microsoft.com/zh-cn/library/bb693614.aspx

 

App-V 团队博客:https://blogs.technet.com/appv/
ConfigMgr 支持团队博客:https://blogs.technet.com/configurationmgr/
DPM 团队博客:https://blogs.technet.com/dpm/
MED-V 团队博客:https://blogs.technet.com/medv/
Orchestrator 支持团队博客:https://blogs.technet.com/b/orchestrator/
Operations Manager 团队博客:https://blogs.technet.com/momteam/
SCVMM 团队博客:https://blogs.technet.com/scvmm
Server App-V 团队博客:https://blogs.technet.com/b/serverappv
Service Manager 团队博客:https://blogs.technet.com/b/servicemanager
System Center Essentials 团队博客:https://blogs.technet.com/b/systemcenteressentials
WSUS 支持团队博客:https://blogs.technet.com/sus/

Forefront Server Protection 博客:https://blogs.technet.com/b/fss/
Forefront Endpoint Security 博客:https://blogs.technet.com/b/clientsecurity/
Forefront Identity Manager 博客:https://blogs.msdn.com/b/ms-identity-support/
Forefront TMG 博客:https://blogs.technet.com/b/isablog/
Forefront UAG 博客:https://blogs.technet.com/b/edgeaccessblog/