有时您想给目前在办公室的所有用户写一封电子邮件。您现在可以将所有电子邮件地址插入到邮件中,但您可能不知道谁在办公室,或者您忘记了某人。
另一个解决方案是将电子邮件发送给安全组。但这也会将邮件发送给正在休假的用户。
我知道您可以查看文件服务器上的会话以及打开的文件。我可以使用这些信息来获取当前登录的所有用户吗?我如何打开一封邮件,并将所有这些用户填写到邮件的“收件人”字段中(也许使用某种批处理文件)?
答案1
您必须轮询环境中的每个工作站和服务器以查找当前登录的用户,然后从每个 AD 用户对象中提取电子邮件地址。我建议编写此解决方案的脚本。
但话又说回来,当发送给“所有人”组并没有那么多不便时,这就浪费了很多精力。
答案2
这很容易。AD 有一个“lastloggedontimestamp”。
我仍然使用 Quest AD CmdLets,但您可以重新调整它以与标准 ActiveDirectory 模块一起使用。
基本上,您会得到“今天”,然后扫描上次登录时间与今天匹配的任何人。
$today = (Get-Date).day
get-qaduser | where { $_.lastlogontimestamp.day -eq $today } | select samaccountname, lastlogontimestamp, Email
它并不完美,我可以想到改进,但它符合你的要求