windows-7 – 用于查找用户自上次重启后是否已登录的Powershell
发布时间:2020-12-14 00:37:19 所属栏目:Windows 来源:网络整理
导读:所以我一直在研究一个Power shell脚本,需要检测自上次重启以来是否发生了交互式登录.我可以在启动任务之前强制系统重新启动,但我想在脚本中添加一些智能. 注意事项: 必须使用Powershell. 不能要求特殊的电源组或插件. 无法使用Active Directory命令. (没有g
所以我一直在研究一个Power
shell脚本,需要检测自上次重启以来是否发生了交互式登录.我可以在启动任务之前强制系统重新启动,但我想在脚本中添加一些智能.
注意事项: >必须使用Powershell. 我能够在最后一次系统重新启动时获得: $date = Get-WmiObject Win32_OperatingSystem | %{$_.LastBootUpTime} $RebootTime = [System.DateTime]::ParseExact($date.split(".")[0],'yyyyMMddHHmmss',$null) 有任何想法吗?提前致谢
如果您已开始使用WMI,则可以使LastBootUpTime更清洁:
PS C:&; $wmi = Get-WmiObject -Class Win32_OperatingSystem PS C:&; $rebootTime = $wmi.ConvertToDateTime($wmi.LastBootUpTime) PS C:&; $rebootTime Tuesday,May 24,2011 3:18:28 PM 考虑到这一点,我们搜索安全事件日志,因为$rebootTime,用于包含登录类型2 – 交互式登录的最新成功的eventID 4624: PS C:&; $entry = Get-EventLog -After $rebootTime -LogName Security | Where-Object {($_.EventID -eq '4624') -and ($_.EntryType -eq 'SuccessAudit') -and ($_.Message | Select-String "Logon Type:ttt2")} | Select-Object -First 1 PS C:&; $lastLogon = $entry.TimeGenerated PS C:&; $lastLogon Tuesday,2011 3:19:34 PM 然后,快速比较一下: PS C:&; $lastLogon -gt $rebootTime True 上述代码可以转储到脚本中和/或在远程计算机上执行.我只是以交互方式运行命令来演示示例输出. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- windows-phone-7 – WP7:删除应用程序名称中的下
- xaml – 可以将UWP应用移植到Windows 7吗?
- windows-server-2012-r2 – 禁用TLS 1.2停止RST数
- windows-server-2012-r2 – Windows Server 2012
- windows – 我什么时候应该在位图上调用DeleteOb
- winapi – 我可以从另一个进程卸载DLL吗?的(Win
- windows – 退出域控制器
- windows-server-2008-r2 – 远程桌面服务登录历史
- Powershell命令可以将断开连接的用户从服务器上移
- 是否可以信任Windows中的证书,而不信任其根CA?
热点阅读