首页 Active Directory域活动目录 修改schema 域名 活动目录 帐户用户名 方法属性
是否可以添加设置域名域账户用户名属性(schema)?域用户的属性中有First Name, Last name Display Name 等等,管理员是否能够灵活的添加其他属性,比如员工ID号之类的。如何添加呢?是否需要动用ADSI?是否schema改变后会对以后域中添加新的域控制器产生影响?我知道在windows 2000域中添加windows 2003的DC由于schema不同需要adprep一下。我手工修改了schema设置后,对于当前版本及以后版本域控制器的添加是否有影响?Rex 回答:根据我的经验,我们可以做到将员工的ID显示在ADUC中,具体的步骤大致如下: 1.其实Employee-ID已经保存在AD中,只是还没有和user或者person关联起来,下面的方法将Employee-ID和person关联起来; 1)在DC上点击开始,选择运行,输入regsvr32 schmmgmt.dll,然后回车; 2)在运行中输入MMC,点击OK,点击文件,选择添加或者删除管理单元,然后点击增加,选择Active Directory 架构, 点击添加; 3)展开Schema控制台中的Classes,定位到Person. 4)右键点击 Person,然后选择Properties. 5)选择Attributes, 点击Add, 然后找到employeeID,然后点击确定; 6)点击OK.
2.在DC上运行adsiedit.msc,定位到user-Display对象( CN=409, CN=DisplaySpecifiers, CN=Configuration),右键点击它;
3.选择attribute editor,找到adminContextMenu,点击edit,增加"2, Employee &ID, c:\windows\employeeid.vbs" (注意:没有引号)。不要删除已经存在的属性值,如果2已经在使用的话, 请选择一个其他没有用的数字。 gnaw0725注:更多活动目录网络管理的精彩论述请参考http://gnaw0725.blogbus.com/c1404552/
4.在您的DC上, 创建c:\windows\employeeid.vbs文件,该文件的内容如下: ============================ Option Explicit Dim wshArguments, objUser, objSchemaEmployeeID, strCurrentID, strEmployeeID, intMaxLen
On Error Resume Next
Set wshArguments = WScript.Arguments Set objUser = GetObject(wshArguments(0)) Set objSchemaEmployeeID = GetObject("LDAP://schema/employeeID")
intMaxLen = objSchemaEmployeeID.MaxRange
If objUser.employeeID <> "" Then strCurrentID = objUser.employeeID Else strCurrentID = "empty" End If
strEmployeeID = InputBox( _ "The current Employee ID is " & strCurrentID & vbCrLf & _ vbCrLf & _ "Enter the new Employee ID (1 through " & intMaxLen & " chars)", _ Right(objUser.Name, Len(objUser.Name) - 3) & " Employee ID", _ objUser.employeeID)
If strEmployeeID = "" Then WScript.Quit 'User clicked Cancel
If Len(strEmployeeID) > intMaxLen Then MsgBox "The new Employee ID was too long and it was not saved.", _ vbCritical, "Error Occurred" Else Err.Clear objUser.employeeID = strEmployeeID objUser.SetInfo If Err Then MsgBox "The new Employee ID was not saved.", _ vbCritical, "Error Occurred" End If ============================ 请注意,该脚本仅供参考,微软不对该脚本提供技术支持。
5.打开ADUC,然后右键点击任何用户, 检查您能否看到"Employee ID"; 请注意,如果您想在其他DC上也能够修改该属性的话,您需要手动将该文件拷贝到另外的DC上。 如果您想做到灵活地添加其他用户属性的话,您可能需要通过扩展schema来实现,您需要编写代码来实现。您看到的文档源自活动目录网络管理http://gnaw0725.blogbus.com/c1404552/ 根据我的经验,手动修改schema一般情况下不会对域中添加新的DC造成影响。对当前版本以及后续版本的DC的添加也没有影响。在windows 2000域中添加windows 2003的DC由于schema不同需要adprep一下,是因为Wndows 2003的schema的版本号要大于Wndows 2000。因此,我们需要运行该命令来扩展。不过,我们一般不建议您自己修改schema,因为如果一旦失败,会影响到整个AD的稳定性。
有关如何查看schema版本的详细信息,请您参考下面的链接中的“架构版本增加到版本 30” 如何将 Windows 2000 域控制器升级到 Windows Server 2003 http://support.microsoft.com/kb/325379/zh-cn
望正茂 在线技术支持工程师 微软全球技术支持中心
喜欢这篇文章吗?那就点击 订阅吧
首页|
评论 0 |
引用 1 |
编辑 按下键盘Ctrl+D会有惊喜发生
原文:是否可以添加设置域名域账户用户名属性(schema)?
分类:[首页]>>[Active Directory域活动目录]
原创: 活动目录SEO博客版权所有。转载时必须注明本声明,本文作者和链接。
作者: gnaw0725
链接:http://gnaw0725.blogbus.com/logs/6656448.html
时间:2007-07-13 09:05
收藏到:
上一篇日志:<< 限制某个OU中的用户登录另外一个OU中的计算机?
下一篇日志:活动目录域2000|2003技术摘要简介 >>
『是否可以添加设置域名域账户用户名属性(schema)? 我想说:』
|