今天早上朋友问我如何获取指定某个时间段的AD用户登录时间和相关的邮箱登录时间。

豆子公司的Exchange已经转移到Office365上,首先远程的导入AD模块,本地导入MSOnline的模块,这样我就可以远程访问AD和Office365了

下面是一个例子,判断90天没有登录的AD账号,并把其中30天没有登陆邮箱的账号都找出来

# 导入AD模块
$s= New-PSSession -ComputerName "syddc01"
Invoke-Command -Session $s {Import-Module activedirectory}
Import-PSSession -Session $s -Module activedirectory #导入MSOnline模块
$cred = Get-Credential "yli@syd.ddb.com"
Import-Module MSOnline
Set-ExecutionPolicy remotesigned
Connect-MsolService -Credential $cred#连接到Office365
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell/ -Credential $Cred -Authentication Basic -AllowRedirection
Import-PSSession $session$when1=((get-date).AddDays(-90)).Date
$when2=((get-date).AddDays(-30)).Date#获取90天内未登陆的账号信息
$users=get-aduser -Filter {(lastlogontimestamp -like '*') -and (emailaddress -like '*')} -Properties * | select name, lastlogontimestamp, @{n="Logon";e={[datetime]::FromFileTime($_.lastlogontimestamp.tostring())}} | Where-Object {$_.Logon -lt $when1}#获取其中30天未登录邮箱的账号信息
foreach($user in $users){
if($a=Get-Mailbox $user.Name -ErrorAction SilentlyContinue ){
$a | get-mailboxstatistics | Where-Object { $_.lastlogontime -lt $when2} | select displayname,lastlogontime
}
}

结果如下

这只是一个测试的脚本,验证一下思路,并不完善,比如信息的过滤可以考虑用filter 而不是where-object;缺少异常处理,用户登录账号加密,后期自动发送结果给管理员,缺少参数化等等;如果需要的话可以慢慢进行优化处理。

Powershell 比较AD和Exchange的用户登录时间相关推荐

  1. 查看用户登录时间以及命令历史

    查看用户登录时间以及命令历史 文章目录: 你有没有遇到这种情况,就是有一台服务器,上面有多个人登陆使用,但是突然右某一天,服务器突然出现了问题,然后你没有操作,但是此时你却成为了怀疑的对象,搞出问题的 ...

  2. ad用户和计算机的使用方法,AD技巧之指定用户登录和指定计算机登陆

    在域环境中我们往往默认情况下,域用户是可以在非域控机器上进行本地登录的,这里就涉及一个域安全问题 今天有人问我能否限制 某个用户只能登陆某台计算机?某台计算机只能由某个用户登录? 某个用户只能登陆某台 ...

  3. linux 用户管理(3)----查看用户登录时间以及命令历史

    1.查看当前登录用户信息  who命令:  who缺省输出包括用户名.终端类型.登陆日期以及远程主机.  who /var/log/wtmp  可以查看自从wtmp文件创建以来的每一次登陆情况  (1 ...

  4. java记录登陆时间_Spring security如何实现记录用户登录时间功能

    一.原理分析 spring security提供了一个接口 AuthenticationSuccessHandler,该接口中只有一个方法,用来进行登录成功后的操作 public interface ...

  5. 在AD环境中限定用户登录到指定的计算机

    作用: 在微软AD环境中,默认情况下,使用任意一个域帐户是可以登录除DC(域控)以外的任何域成员计算机的,这就给企业信息安全带了一个很大的隐患.试想一下,如果一个不怀好意的员工利用这个疏漏来登录其他员 ...

  6. AWS托管AD + Yearning配置LDAP认证登录

    AWS托管AD配置 具体创建过程不再赘述, 这里使用我之前创建好的一个AD, 主要是记录下来AD的两个DNS地址, 可以从控制台中查看到 EC2实例配置 先使用Amazon Linux 2 AMI启动 ...

  7. ubuntu下如何查看用户登录及系统授权相关信息【转】

    转自:http://www.tuicool.com/articles/ia67Bj 如何在ubuntu下查看相关用户登录历史,进行系统的日志跟踪和分析,以便发现系统登录问题,进行安全策略防护呢?ubu ...

  8. 过滤器实现单一用户登录

    单一系统的登录要保证同一时间内不允许pc,app,微信同时登录,在一个时间内只保留最后一次登录状态.这样的设计是我们容易忽略的.下面通过过滤器的方式进行实现: 首先在web.xml文件中添加: < ...

  9. DeDecms任意用户登录,管理员密码重置漏洞

    基本信息 漏洞编号:SSV-97087 实验版本:dedecms v5.7SP2 下载地址:http://updatenew.dedecms.com/base-v57/package/DedeCMS- ...

最新文章

  1. 怎么看电脑电源多少w_电脑电源供电不足会怎么样 电脑电源供电不足坏处介绍【详解】...
  2. Spring MVC Boot Cloud 技术教程汇总
  3. python使用glob模块匹配文件及路径
  4. 接口测试工具ApiPost 发送报 socket hangup 的解决方案
  5. TamperIE - 一个小巧的XSS漏洞检测辅助工具
  6. 周五,放松心情,听我来分享问题背后的背后(二)
  7. SQL数据查询语句(一)
  8. zotero文献管理工具的下载安装
  9. 计算机软件 属于特许权,​软件使用权是否属于无形资产
  10. 主板怎么开启csm_B460主板BIOS设置CSM选项无法开启的解决方法
  11. .NET Standard
  12. 怎样合并磁盘分区?看这里~
  13. 重庆php就业前景,重庆就业前景最好的十大专业是哪些_中职中专网
  14. JS防抖(Debouncing)和节流(Throttling)
  15. soul_admin之使用zookeeper数据同步
  16. Word文件的编辑密码忘记了怎么办?
  17. Multisim电路仿真与面包板的使用
  18. 使用AntV L7实现地图/世界地图GeoJson资源分享
  19. 嵌入式linux usb wifi移植[s3c6410平台原创]
  20. matlap之零输入响应

热门文章

  1. 关于Hadoop的一些网络资料
  2. sql server 2008 日志处理
  3. HTML5学习笔记(三):HTML5的智能提示在VisualStudio2010
  4. 个人随笔-《江城子·驻西航》
  5. 举例介绍活动目录的优势
  6. 用inno做setup遇到的一些问题及解决方法
  7. 通过反射获得引用程序集信息
  8. 成都东软学院新生周赛(五)
  9. 剖析——移动构造函数
  10. 微信小程序+微信公众号开发总结