![如何向 AD 架构中的新自定义属性添加逻辑](https://linux22.com/image/712159/%E5%A6%82%E4%BD%95%E5%90%91%20AD%20%E6%9E%B6%E6%9E%84%E4%B8%AD%E7%9A%84%E6%96%B0%E8%87%AA%E5%AE%9A%E4%B9%89%E5%B1%9E%E6%80%A7%E6%B7%BB%E5%8A%A0%E9%80%BB%E8%BE%91.png)
我需要创建名为的新属性:
LastLoggedWorkstation
此属性应包含用户最后登录的机器的名称\IP。
我知道如何向 AD 架构添加新属性(这里),但我不知道如何添加逻辑。
当用户登录到 DC 中的计算机时,将生成事件 4768(来自MSDN)。
此事件包含用户的 sid 以及他登录的机器的 ip 地址。
如果我可以编辑属性,每当有登录时检查源机器并将其添加到属性中,那就太好了。
是否可能或者属性不能包含任何逻辑?
参考:
https://social.technet.microsoft.com/Forums/windows/en-US/e545548b-2c48-4dd5-9c23-ef25c56050a7/last-workstation-user-logon?forum=winserverDS
查找用户上次登录的计算机的最佳方法?
答案1
属性不能包含任何逻辑,它们必须由“其他东西”填充。
事实上,您可以将 Active Directory(或者至少是我们在此讨论的部分)视为一个数据库,其中包含字段和记录,并且当您扩展架构时,可以向该数据库添加更多“字段”。
为了填充新创建的属性,您可以创建一个小程序,或者一个PowerShell 脚本它将收集所需的信息(例如您提到的事件 ID),处理这些信息,然后将属性写入您的 AD 中。