我目前正在编写一些工作访问脚本,希望能找到一种简单的方法来输入和检索用户社会安全号码的最后 4 位。这是我们识别来电者的主要方式。目前,我们必须登录并通过我们的人力资源应用程序进行搜索,这非常麻烦,而且会增加通话时间。我让管理层/高级工程师批准并扩展架构的可能性几乎为零。我曾考虑将此号码写入 employeeNumber 属性,但不确定这样做是否会产生任何不可预见的后果。显然,我们以前的帮助台有人开始将此信息输入 AD 中的“电话”选项卡,可以通过 Outlook 全局目录查看...管理层对此不太高兴。
就我目前的工作而言,这是一个不错的想法吗?或者?...
答案1
如果我没记错的话,employeeNumber 字段虽然无法通过 GUI 查看,但任何具有 AD 读取权限的人仍然可以查询它。不过这可能比“Outlook”更费力。
但老实说...这是 SSN 的最后 4 个...所以我认为,如果管理层同意的话,您的方法就足够了。
只要确保你不关心将来实际的员工 ID 号是否存储在那里。但是,如果你随意选择一个数字存储在那里,它不会弄乱其他东西。
答案2
默认的开箱即用模式已经包含 employeeNumber 和 employeeID 属性......
读取属性:
PS H:\> Get-ADUser jbob -Properties EmployeeId,EmployeeNumber
DistinguishedName : CN=JoeBob,OU=Users,OU=Bros,DC=contoso,DC=com
EmployeeID : A1B2C3
EmployeeNumber : 1234556
Enabled : True
GivenName : Joe
Name : JoeBob
ObjectClass : user
ObjectGUID : be0e26f8-194a-4e64-bd88-e8fe31ead255
SamAccountName : jbob
SID : S-1-5-21-2495528697-4433204477-8833759600-13738
UserPrincipalName : [email protected]
设置属性:
PS H:\> Set-ADUser jbob -EmployeeId $NewEmpId
我会非常小心地将员工的 SSN 的最后 4 位存储在 Active Directory 中。默认情况下,这些信息将由全部经过身份验证的用户。我个人甚至认为其他人的社会保险号码的最后 4 位数字也值得比这更保密。
如果你要这么做,我会至少建议通过修改 searchFlags 属性将属性标记为机密:http://support.microsoft.com/kb/922836