是否可以添加设置域名域账户用户名属性(schema)?



是否可以添加设置域名域账户用户名属性(schema)?

首页 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
收藏到: Yahoo书签 百度收藏 Google书签 QQ书签 天极网摘 新浪ViVi 365Key网摘 diglog 和讯网摘 博拉网 Del.icio.us POCO网摘 Windows Live

一篇日志:<<  限制某个OU中的用户登录另外一个OU中的计算机?
一篇日志:活动目录域2000|2003技术摘要简介  >>


『是否可以添加设置域名域账户用户名属性(schema)? 我想说:』
 姓名: 
 网址: 
 

本页精品文章:是否可以添加设置域名域账户用户名属性(schema)?
活动目录SEO博客公告
月流量突破 10 万,总流量突破170万,如果您对活动目录域网络管理也有心得,并且希望以此扩大自己影响力,只需要添加本站链接,然后将文章标题和链接在线留言给活动目录博客,活动目录博客将收录您的文章,并注明您的站点及链接。