$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的用户名和时间戳。
我可以设法获取名称,但是当它通过列表并且花费的时间超过预期时,我会遇到空值错误。
我将如何修复该问题并为上次登录/注销的用户添加时间戳?
一种更好的方法是解析事件日志以查找其注销登录时间
这个脚本看起来很符合要求
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
}