PowerShell问题
问题描述:
get-eventlog -LogName system -ComputerName servername | where {$_.source -eq "user32"} | select -first 1 | Format-List
上述命令在显示所需结果后不会返回提示。PowerShell问题
这种情况只发生在远程计算机的情况下。如果我使用“localhost”,它工作得很好。
答
我想你正在运行的是Select-Object可以在PSv3本地终止管道,但它不能远程执行此操作。所以你继续得到结果,直到它完成。既然你的条件意味着你会过滤出除了一个结果以外的所有结果,它似乎就是挂起来了。
尝试删除Select-Object(也可能是Where-Object)以查看正常运行需要多长时间。您还应该在远程调用中进行更多的过滤,而不是在接收数据后进行过滤。
Get-EventLog -LogName system -Source "user32" | select -first 1 | Format-List
+0
其实它的作品。需要一段时间,但回到提示。谢谢!! – user3281582
对我很好。 – EBGreen
这里工作得很好。顺便说一句,您可以指定源作为Get-EventLog的参数。 '-Source User32'。 –
我在PowerShell 2.0上执行它。这可能是原因吗? – user3281582