1

Я работал со следующим (очевидно, с различными приложениями):

@echo off
tasklist /FI "IMAGENAME eq AutoHotkey.exe" | find /i "AutoHotkey.exe"

IF ERRORLEVEL 2 GOTO NEXTPROGRAM
IF ERRORLEVEL 1 GOTO LAUNCHPROGRAM

:NEXTPROGRAM
goto LOLLAUNCHER


:LAUNCHPROGRAM
start "" "C:\Program Files\AutoHotkey\AutoHotkey.exe"
goto LOLLAUNCHER

:LOLLAUNCHER
tasklist /FI "IMAGENAME eq LoLLauncher.exe" | find /i "LoLLauncher.exe"

IF ERRORLEVEL 2 GOTO NEXTPROGRAM2
IF ERRORLEVEL 1 GOTO LAUNCHPROGRAM2

:NEXTPROGRAM2
goto COMPLETE


:LAUNCHPROGRAM2
start "" "C:\Program Files (x86)\League of Legends\lol.launcher.exe"
goto COMPLETE    

У меня есть это в пакетном файле, который запускается, когда пользователь входит в систему или разблокирует компьютер. Эта часть прекрасно работает, однако мне нужно пойти немного дальше.

В конце концов это будет распространяться на несколько компьютеров в аэропорту. Из-за характера своей работы они говорят мне, что потенциально у них может быть несколько пользователей, использующих одни и те же 3 приложения на одном компьютере.

Будучи человеком, ориентированным на безопасность, я инструктирую их использовать индивидуальные логины, чтобы мы могли отслеживать, кто что делает в системах. Итак, я предполагаю, что мой вопрос - как я могу изменить это, чтобы проверить процесс, выполняющийся в определенной сессии пользователя, а не только на самом компьютере? Проблема заключается в том, что если пользователь вошел в систему и запустил свои приложения, а затем отошел, но другому пользователю нужно перейти на эту станцию, чтобы выручить гостя, скрипт запустится - определит, что процессы запущены, но затем делают ничего такого. Мне нужно отредактировать это, чтобы проверить, запущен ли процесс для сеанса этого пользователя. Я надеюсь, что в этом есть смысл.

1 ответ1

0

Добавьте параметр /V чтобы получить список задач и список имен пользователей. Затем направьте команду в другой findstr. Пример:

tasklist /FI "IMAGENAME eq AutoHotkey.exe" /V | find /i "AutoHotkey.exe" | findstr /i %username%

%username% является системной переменной, и, следовательно, находит приложение для текущего пользователя, вошедшего в систему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .