PowerShell问题

时间:2014-02-06 21:58:28

标签: powershell powershell-v2.0 powershell-v3.0 powershell-remoting

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

显示所需结果后,上述命令不会返回到提示符。

仅在远程计算机的情况下才会发生这种情况。如果我使用“localhost”它就可以了。

1 个答案:

答案 0 :(得分:1)

我认为你遇到的是Select-Object可以在PSv3中本地杀死管道,但它不能远程执行。因此,在完成之前,您将继续获得结果。由于你的条件意味着你将过滤掉除了一个结果之外的所有结果,它似乎是悬挂的。

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

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