在 Active Directory 中创建用户时,是否会触发类似“事件”的东西?外部系统会自动创建 Active Directory 用户,我想在创建新用户后直接执行一些 powershell 任务。当用户登录时,脚本应该已经运行了。
有人知道如何实现这一点吗?
我正在运行 Windows Server 2008 R2。
答案1
您有几个问题:
- 我大概可以想出一个在创建用户时在 DC 上触发的事件,但如何保证只在 1 个 DC 上创建用户?
- 用户帐户就是用户帐户,那么您如何确定哪些帐户是由这个外部流程创建的,哪些帐户是由于其他原因创建的(服务帐户等)?
最好的办法是让外部系统启动脚本。过去,我不会允许某些外部系统访问以创建用户,而是让外部系统启动脚本来创建用户并将详细信息作为参数传递。
答案2
是的。这些是安全事件日志中的事件 ID 4722、4738 等。事件文本将分别包含字符串“已启用用户帐户。”或“已更改用户帐户”。“已创建用户帐户”的事件是事件 4720。
确实,如果用户是在不同的 DC 上创建的,则并非每个域控制器都会记录所有用户创建事件。如果您担心这一点,请考虑采用更彻底的 AD 事件审核方法,详情如下:
http://technet.microsoft.com/en-us/library/cc731607(WS.10).aspx
之后,只需使用 Powershell Cmdlet(例如 Get-Eventlog)查找这些事件并根据它们执行操作即可。