Windows Active Directory中是否存在任何主键(或)唯一键?
我正在从PowerShell运行以下命令:Windows Active Directory中是否存在任何主键(或)唯一键?,windows,powershell,active-directory,ldap,Windows,Powershell,Active Directory,Ldap,我正在从PowerShell运行以下命令: Get-ADUser -Server ad.com -Filter '*' -Properties '*' Export-Csv 'C:\Users\myFolder\file.csv' -NoTypeInformation -Delimiter '|' 只是尝试识别可以用作“主键”的属性,如EmployeeID或EmployeeNumber。 广告属性列表:[链接] AD是否提供主键?如果需要用户和组条目中的唯一值,可以查看属性。LDAP字符串表示
Get-ADUser -Server ad.com -Filter '*' -Properties '*' Export-Csv 'C:\Users\myFolder\file.csv' -NoTypeInformation -Delimiter '|'
只是尝试识别可以用作“主键”的属性,如EmployeeID或EmployeeNumber。
广告属性列表:[链接]
AD是否提供主键?如果需要用户和组条目中的唯一值,可以查看属性。LDAP字符串表示是一个八位字符串,但您可以找到代码将其转换为ASCII干净的所谓SDDL表示 请注意,SID包含域的SID作为前缀。所以,在域被迁移的情况下,将生成新的SID,并将旧的SID放置在属性中,直到AD管理员清除 但是,如果您正在寻找与外部数据源同步数据的主键,我会在此外部数据源中创建唯一值,并将其放置在或中 虽然许多其他属性必须是唯一的,但有些属性不是真正稳定的或局部的,因此不适合同步数据: 是全局唯一的,因为它是编码为OctetString的UUID(请参阅)。但IIRC在复制副本之间并不稳定 samAccountName和userPrincipalName通常是从人名派生的。该条目在广告中的RDN也基于cn,而cn通常包含该人的姓名。在结婚/离婚等情况下,从个人姓名中提取的值可能会发生变化 =>
- 同步的最佳属性是自生成的ID(例如UUID)
- 第二个最佳属性是objectSID,它与sIDHistory一起用于定位条目。确保将objectSID的当前值同步回数据源
EmployeeNumber是用户指定的属性。它旨在使用用户数据库或人力资源数据库中的id填充,以保持人口统计和组织数据的最新状态。属性本身没有约束。所有这些唯一属性都有一些警告。我在回答中添加了更多的文字来讨论这个问题。欢迎反馈。请注意,
userPrincipalName
在整个广告林中也是唯一的(如果你的林中有多个域)。是的,Gabriel,我有多个域,userPrincipalName对所有域都是唯一的?所以Bacon,你是说ObjectGUID最好用作主键?@Pavan_Obj这取决于。objectGuid
给您的唯一好处是它永远不会改变,但您在乎吗userPrincipalName
保证是唯一的,并且是人类可读的,但是可以更改(例如,如果此人更改其姓名)。您能描述一下您的用例吗?有几个字段可供选择。我正在尝试识别一个“主键”和“修改的时间戳”,我可以使用它每天更新配置单元表,同时使用Get ADUser-Server AD.com-Filter“”-Properties“”从AD中提取所有记录。AD输出提供了以下属性“MultFyTimeType”,我可以使用它作为数据列,但是我无法找到我能使用的最佳主键。所以,米迦勒,你是说ObjutGuID是唯一的属性,作为唯一的密钥,根据我的以下尝试:我正在尝试识别一个“主键”和“修改的时间戳”,我可以使用它每天更新配置单元表,同时使用Get ADUser-Server AD.com-Filter'-Properties''从AD中提取所有记录。AD输出提供了以下属性“modifyTimeStamp”,我可以将其用于数据列,但我无法找到可以使用的最佳主键。否。我说过objectSID是同步的最佳属性,同时查看sIDHistory甚至可以在域迁移中生存下来。