Немного фона:
Я пытаюсь запустить и остановить некоторые счетчики производительности в начале теста, а затем остановить их в конце теста. Я делаю это с помощью автоматизированной тестовой среды с компьютера с Win2003, тестовая среда выполняет команды без запуска консоли, часть тестируемой системы работает под управлением Win2008. Я написал сценарии для выбора счетчиков производительности на основе ролей, назначенных серверам.
Мои проблемы:
logman
не может запускать или останавливать счетчики на машинах с более поздней версией ОС.
psexec
может использоваться для удаленного запуска logman, но psexec любит периодически зависать при запуске из тестовой среды. Он работает нормально вручную из командной строки. Я предполагаю, что это потому, что вызывающий процесс не предоставляет консоль или подобную неловкость. Я мало что могу с этим поделать (GRRRR)
- Я написал сценарий PowerShell, который выполняет logman удаленно, используя WMI
win32_process
, и вызвал его из пакетного сценария, это прекрасно работает. Тем не менее, тестовая среда решает сценарии прохождения и неудачи на основе %ERRORLEVEL%
и содержимого stderr, но WMI win32_process
также не дает мне доступа. Поэтому, если счетчики не запустятся, тест все равно будет пахать и тратить время каждого.
Я ищу решение, которое позволило бы мне выполнить программу на удаленном компьютере, проверить код возврата программы и / или pipe stderr обратно вызывающей стороне. По причинам простоты это должно быть написано в инструментах, которые доступны на ванильной коробке Win2k3. Я действительно предпочел бы не использовать сложную коллекцию сценариев, которые записывают данные в файлы журналов, а затем читают их снова.
Кто-нибудь имел подобную проблему и решил ее, или, по крайней мере, есть предложение?