我试图find一个Active Directory用户属性列表,我可以使用它进行定制,而不必扩展架构。 我们正在使用2008R2function级别。
我导出了所有属性的PowerShell列表。 但我不知道如何知道哪些是我可以编辑的用户信息(如displayname,phone,employee-id)和AD-Data,我不应该手动编辑(dn,accountexpires)。 我可以从这个列表中看到一些明显的例如employee-id,extensionAttribute1-15。
Get-QADUser 'username' -IncludeAllProperties | Get-Member -MemberType Properties
我find了几个列出所有属性的网站,但没有一个能区分用户信息和AD-Data。
此Microsoft列表将属性分为属性集:公用信息,用户login等,但仍不会将用户信息和AD数据之间的列表分开。 它也不包括employee-id或extensionAttribute1-15
问题:是否列出可以用于自定义的Active Directory用户属性? 谢谢
编辑:其他信息:我们的开发人员希望附加一些信息到一个新的应用程序的所有用户帐户。 他们想要附加的数据的第一个例子是employee-id。 这个字段已经存在于AD中。 我不反对扩展模式,我只是不想不必要地改变事物或复制已经存在的字段。 如果我可以给他们一个清单,可能会有一些我们可以使用的适当名称的字段。 如果没有,那么我将扩展架构。
重写的问题:我可以使用哪些属性(例如,显示名称,电话号码,员工ID)? 我应该单独留下哪些属性(dn,lastModifiedDate,accountexpires)?
简单的答案是,只有一些属性是用于像description和info这样的用户帐户上的美容元数据。 即使是extensionAttributeX也不是真正用于您的定制。 它们是Exchange架构扩展的一部分,如果您实际运行Exchange,则应该将其视为“保留”。
更好的问题是你为什么要避免扩展你的模式? 这样做本质上没有任何风险。 如果您具有在特定类上添加业务特定自定义元数据的有效用例,请创build一个逻辑属性名称并添加它。 也许要确保你的ldif文件是按照你打算先临时丢弃的DC的方式工作的。 但最终,唯一的办法就是保证没有别的东西会踩到它或者受到它的影响。
如果由于政治问题而试图避免这种情况发生(您的团队没有pipe理AD并且AD团队不愿意进行模式变更),那么为了改变这种变化而进行良好的斗争和商业上的理由仍然是最有利的(假设你实际上有一个好的商业理由)。
如果您的需求只是暂时的,那么可能只是使用类似于description或info知识来了解您的用户pipe理团队可能意外地将数据搞乱了。 也有可能一些写得不好的第三方软件可能会有相同的想法,但与您有冲突。
您可能还想更新您的问题,更详细地介绍您要添加的数据types。 您可能已有的属性可能已经用于您的目的。
对编辑的回应 :正如您所指出的,您已经有了一个可以使用的employeeID属性。 还有一个employeeNumber属性。 但是,问题根源的答案是,没有任何其他软件使用的预先存在的可写属性没有确定的列表。 最好的方法来做你想要做的是打开你的域中的用户的属性对话框,select属性选项卡,更改filterShow only writable attributes并向下滚动寻找一些没有任何其中的数据可能适合您的数据定义。 然后,谷歌特定的属性名称,以查看该属性的目的是什么,作为一个健全的检查,看看你的环境中使用的任何东西也使用它。
我使用info属性作为自定义字段。 它的作品就像一个魅力,而不改变模式。