编辑 2011 年 9 月 26 日:仍在寻找答案,如果您有任何想法,请发布并告诉我!
问题总结
当我对自己的计算机或附近的计算机运行 Get-EventLog 时,我看不到任何异常并且一切都按预期工作。
当我在更远的计算机上运行它时(平均 ping 108ms
),它开始以我没想到的方式运行。每个返回的事件之间都有很长的停顿,并且需要很长时间才能完成。
这是我正在使用的命令:
Get-EventLog -ComputerName [computername] -LogName Application -newest 100
我希望该命令能够收集远程计算机上的所有信息,然后将其集中发送给我,但它似乎并没有这样做。
当我正常执行命令并使用类似在线秒表的东西进行粗略测量时,结果大约是 4 分 3 秒。
当我使用以下方法测量它时:
Measure-Command {Get-EventLog -ComputerName yanhong03 -LogName Application -newest 100}
结果大约是 31 秒(但没有打印出任何信息)。
所以,两个问题:
- 为什么事件(似乎)一次检索一个?
- 为什么使用 Measure-Command 实际上会改变命令完成所需的时间?
杂项细节:
我正在运行 powershell v2,并且正在使用 Powershell ISE 中的 shell 来执行这些命令。操作系统是 Windows XP。