get-eventlog -LogName system -ComputerName servername | where {$_.source -eq "user32"} | select -first 1 | Format-List
显示所需结果后,上述命令不会返回到提示符。
仅在远程计算机的情况下才会发生这种情况。如果我使用“localhost”它就可以了。
答案 0 :(得分:1)
我认为你遇到的是Select-Object可以在PSv3中本地杀死管道,但它不能远程执行。因此,在完成之前,您将继续获得结果。由于你的条件意味着你将过滤掉除了一个结果之外的所有结果,它似乎是悬挂的。
尝试删除Select-Object(可能是Where-Object)以查看正常运行所需的时间。您还应该在远程调用本身中进行更多过滤,而不是在接收数据后进行过滤。
Get-EventLog -LogName system -Source "user32" | select -first 1 | Format-List