PowerShell问题

问题描述:

get-eventlog -LogName system -ComputerName servername | where {$_.source -eq "user32"} | select -first 1 | Format-List 

上述命令在显示所需结果后不会返回提示。PowerShell问题

这种情况只发生在远程计算机的情况下。如果我使用“localhost”,它工作得很好。

+1

对我很好。 – EBGreen

+0

这里工作得很好。顺便说一句,您可以指定源作为Get-EventLog的参数。 '-Source User32'。 –

+0

我在PowerShell 2.0上执行它。这可能是原因吗? – user3281582

我想你正在运行的是Select-Object可以在PSv3本地终止管道,但它不能远程执行此操作。所以你继续得到结果,直到它完成。既然你的条件意味着你会过滤出除了一个结果以外的所有结果,它似乎就是挂起来了。

尝试删除Select-Object(也可能是Where-Object)以查看正常运行需要多长时间。您还应该在远程调用中进行更多的过滤,而不是在接收数据后进行过滤。

Get-EventLog -LogName system -Source "user32" | select -first 1 | Format-List 
+0

其实它的作品。需要一段时间,但回到提示。谢谢!! – user3281582