2013-09-26 45 views
0

我的域中有几台计算机可以通过PowerShell远程访问。我发现了极其缓慢性能,当我远程与这样的命令的特定计算机:PowerShell调用 - 命令性能问题

Invoke-Command -ComputerName someComputerName -ScriptBlock { ls C:\ } -credential myUsername 

它需要约10秒至驱动器上显示每个文件/文件夹。如果我使用Enter-PSSession在会话中运行相同的命令,则不存在性能问题。另外,如果我使用Invoke-Command运行Get-Alias之类的命令,则不存在性能问题。最后,我可以在任何其他计算机上运行任何命令,而不会有任何性能问题

任何想法可能会造成这种情况? 谢谢!

回答

1

可能是一个带宽问题。这运行速度会更快吗?

convertfrom-csv (Invoke-Command -ComputerName someComputerName -ScriptBlock { ls C:\ | convertto-csv} -credential myUsername) 
+0

是该命令运行几乎瞬间。这是否更快,因为这些文件的csv表示比对象表示小得多?任何想法可能会导致这样的带宽问题?谢谢! – rob

+0

是的,该csv的XML负载远小于FileInfo对象的XML负载。你可以通过在两者上使用export-clixml来验证这一点,并注意文件大小。你可能想要启动一个数据包分析器来查看网络上发生了什么。 – mjolinor