$Inventory = Get-Content -Path "C:\Temp\computer list.txt"
foreach ($Computer in $Inventory) {
(Get-WmiObject -Class win32_process -ComputerName $Computer | Where-Object name -Match explorer).getowner().user
}
我正在尝试运行一个脚本,该脚本将通过与AD关联的文本文件中的计算机名称列表来获取lastlogon的用户名和时间戳。
我可以设法获取名称,但是在遍历列表时花了比预期更长的时间,因此遇到了空值错误。
我该如何解决该问题并为上次登录/注销的用户添加时间戳?
答案 0 :(得分:0)
更好的方法是解析事件日志以找到其注销时间
此脚本看起来很合适
https://gallery.technet.microsoft.com/scriptcenter/Find-user-logon-duration-667b8c48
然后您可以像这样使用它
$Inventory = Get-Content -Path 'C:\Temp\computerlist.txt'
ForEach ($Computer in $Inventory) {
Get-OSCUserLogonDuration -ComputerName $Computer -IncludeRemoteInteractive -
Verbose | FT -AutoSize
}