РЕДАКТИРОВАТЬ 26.09.2011: Все еще ищете ответ, если у вас есть какие-либо идеи, пожалуйста, напишите и дайте мне знать!
Краткое изложение проблемы
Когда я запускаю Get-EventLog на своем собственном компьютере или на соседнем компьютере, я не вижу ничего необычного, и все работает как положено.
Когда я запускаю его на компьютере, который находится дальше(средний пинг 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 и использую оболочку в PowershellISE для выполнения этих команд.ОС Windows XP.