这在 LOCALSERVER 上在 2.3 分钟内完成:
A: measure-command {$x = invoke-command {gci -recurse "C:\"}}
这在 LOCALSERVER 上在 38.4 分钟内完成:
乙: measure-command {$x = invoke-command -comp LOCALSERVER {gci -recurse "C:\"}}
为什么B这么慢?是因为“输出被序列化为 XML,然后再次重组为对象”,如此处所述,使用 B 而不是 A?还是发生了其他事情?
LOCALSERVER 运行带有 PS v3 的 Windows 2008R2。在这两种情况下$x.count
都是 98973。
我想知道如何更改现有脚本以使用 PSRemoting 在远程服务器上进行文件搜索。我认为在远程目标上运行 gci 可能会更快完成搜索。在少数测试中,使用 PSRemoting 的搜索实际上运行的时间要长得多。我询问环回方案只是因为它似乎是最简单的情况;我在远程服务器上看到了类似的结果。所以我会坚持使用这样的 UNC 路径搜索:
gci -recurse \\REMOTESERVER\C$\folder
...除非这些结果看起来很奇怪,并且对我的远程配置或语法进行一些调整可能会大大提高性能?