Как я могу автоматизировать команду Tasklist на своей рабочей станции, чтобы проверить определенный процесс на количестве серверов X? - PullRequest
0 голосов
/ 16 февраля 2012

Я пытаюсь проверить состояние на моих серверах XenApp для процесса spoolsv.exe.У меня есть команда для отдельного запуска с моей рабочей станции XP, но, похоже, она не может перебрать текстовый файл.Вот что у меня есть до сих пор, что заставит заполнить Серверы X-XX на моем экране CMD?

@echo off

FOR /F "usebackq" %%G IN ("C:\Documents and Settings\userid\Desktop\Scripts\servers.txt") DO echo tasklist /S %%G /u domain\userid | find "spoolsv.exe"

pause

Я не могу заставить его работать правильно, и иногда он просто всплываетСерверы .txt файл в блокноте и даже не запускается.Чего мне не хватает?

1 Ответ

1 голос
/ 20 февраля 2012

Как вы уже представляли, список задач никогда не запускается.Фрагмент «do echo tasklist ...» означает, что буквенная строка «tasklist / S server-one ...» выводится на стандартный вывод.Поскольку ни одна из этих буквенных строк не содержит «spoolsv.exe», команда «find» не будет ничего соответствовать.

Вместо этого попробуйте следующее:

@echo off

FOR /F "usebackq" %%G IN ("C:\Documents and Settings\userid\Desktop\Scripts\servers.txt") DO call :RunTasklistForOneServer %%G

pause
goto :EOF

:RunTasklistForOneServer

set ServerName=%1
echo Calling server %ServerName%
tasklist /S %ServerName% /u domain\userid | find "spoolsv.exe"
...