我正在从 PowerShell 运行以下命令:
Get-ADUser -Server ad.com -Filter '*' -Properties '*' Export-Csv 'C:\Users\myFolder\file.csv' -NoTypeInformation -Delimiter '|'
只是试图确定我可以用作“主键”的属性,例如 EmployeeID 或 EmployeeNumber。 广告属性列表:[链接] AD 是否提供主键?
最佳答案
如果您需要用户和组条目中的唯一值,您可以查看属性 objectSID . LDAP 字符串表示是 OctetString,但您可以找到代码将其转换为 ASCII 干净的所谓 SDDL 表示。
请注意,SID 包含域的 SID 作为前缀。因此,如果域被迁移,则会生成新的 SID,并将旧的 SID 放置在属性 sIDHistory 中。直到被 AD 管理员清理干净。
但是,如果您正在寻找一个主键来与外部数据源同步数据,我会在此外部数据源中创建唯一值并将其放在 employeeID 中。或 employeeNumber .
虽然许多其他属性必须是唯一的,但有些属性并不是真正稳定或局部的,因此不适合,例如用于同步数据:
objectGUID是全局唯一的,因为它是一个编码为 OctetString 的 UUID(参见 RFC 4122)。但是 IIRC 它在副本之间不稳定。
samAccountName 和 userPrincipalName 通常源自人名。条目在 AD 中的 RDN 也基于 cn,其中大部分时间包含人名。源自人名的值可能会在结婚/离婚等后发生变化。
=>
- 同步的最佳属性是自行生成的 ID(例如 UUID)。
- 第二好的属性是 objectSID 与 sIDHistory 结合使用以定位条目。确保将 objectSID 的当前值同步回您的数据源。
关于windows - Active Directory 中是否存在任何主键(或)唯一键?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52940960/