有刚学AD的同行问,我怎么按书本运行adprep /forestprep,显示adprep.exe 命令不可用呢?

以下是一个小小的解答。

Active Directory Schema 是用来定义AD中的类别(classes)和属性(attributes)的。活动目录的基础架构(a base Schema)包括了,比如user、computer、organizationalUnit等类别以及用户电话号码、objectsid等属性。这些默认存在的类别和属性可以满足大多数以AD为基础的应用,这些应用不需要拓展AD架构。然而有些应用必须使用自己的目录结构,比如Exchange,他们在AD提供的基础架构上另外拓展了一些类别和属性,已达到自己的需求,这就是为什么活动目录需要拓展。


我们无论是做AD 2008 R2的upgrade还是想在包含Windows Server 2003域环境中添加Windows Server 2008 R2域控制器,同样需要拓展活动目录的架构(Active Directory Schema)。

要进行这个操作, 就要用到adprep.exe。我们初学AD的时候,书本,课堂或者其他文章可能教你要使用具有足够权限的用户来在架构主机上运行Adprep的命令,而且用户必须是Schema Admins 组、Enterprise Admins 组以及 Domain Admins 组的成员。接着运行adprep /forestprep、adprep /domainprep等命令啦。


但是,假如你按着做,你在Server 2003 32位OS上插入Server 2008 R2 CD,运行这个命令,发现出现如下报错。


adprep /forestprep

adprep.exe is valid, but if for a machine type other than the current machine


难道这台不是DC么?我找另一台不是DC的普通Server 做尝试。

 

哪里错了呢,原来啊,Server 2008 R2是64位,而你的Server 2003是32位的啊,你要运行 adprep32.exe, 一个32位版本的 adprep。

adprep和adprep32在同一个文件夹下,留心的你会发现啦。

我们这次运行 adprep32 /forestprep,可以看到,命令运行成功了。