用于从文本文件中获取用户名和lastlogon / off的Powershell脚本

问题描述 投票:1回答:1
$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的用户名和时间戳。

我可以设法获取名称,但是当它通过列表并且花费的时间超过预期时,我会遇到空值错误。

我将如何修复该问题并为上次登录/注销的用户添加时间戳?

powershell
1个回答
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
}
© www.soinside.com 2019 - 2024. All rights reserved.