如何获取活动目录环境中的所有登录用户?

如何获取活动目录环境中的所有登录用户?

有时您想给目前在办公室的所有用户写一封电子邮件。您现在可以将所有电子邮件地址插入到邮件中,但您可能不知道谁在办公室,或者您忘记了某人。

另一个解决方案是将电子邮件发送给安全组。但这也会将邮件发送给正在休假的用户。

我知道您可以查看文件服务器上的会话以及打开的文件。我可以使用这些信息来获取当前登录的所有用户吗?我如何打开一封邮件,并将所有这些用户填写到邮件的“收件人”字段中(也许使用某种批处理文件)?

答案1

您必须轮询环境中的每个工作站和服务器以查找当前登录的用户,然后从每个 AD 用户对象中提取电子邮件地址。我建议编写此解决方案的脚本。

但话又说回来,当发送给“所有人”组并没有那么多不便时,这就浪费了很多精力。

答案2

这很容易。AD 有一个“lastloggedontimestamp”。

我仍然使用 Quest AD CmdLets,但您可以重新调整它以与标准 ActiveDirectory 模块一起使用。

基本上,您会得到“今天”,然后扫描上次登录时间与今天匹配的任何人。

$today = (Get-Date).day
get-qaduser | where { $_.lastlogontimestamp.day -eq $today } | select samaccountname, lastlogontimestamp, Email

它并不完美,我可以想到改进,但它符合你的要求

相关内容