Предотвращение запуска нескольких копий одного приложения с помощью CMD/BAT на примере 1С: Предприятие 8 — Хочу Знать

Предотвращение запуска нескольких копий одного приложения с помощью CMD/BAT на примере 1С: Предприятие 8

Часто при использовании 1С на терминальном сервере возникает проблема нехватки свободных лицензий, связано это с тем, что некоторые пользователи умудряются запускать сразу несколько копий программы, тем самым «забирая» свободные лицензии, предназначенные, возможно, для других пользователей. Решение простое — запретить юзерам запускать несколько копий 1С с помощью cmd скрипта:

::Скрипт для предотвращения запуска нескольких копий клиента 1С
SET SEARCH=1cv8.exe
tasklist /fi "imagename eq %SEARCH%" /fi "USERNAME eq %username%" /fo table /nh | find /c /i "%SEARCH%"
if %ERRORLEVEL%==1 start "" "C:\Program Files (x86)\1cv82\common\1cestart.exe" ENTERPRISE /RunModeOrdinaryApplication /S "localhost\base"

В переменной SEARCH указываем названием процесса, который будем отслеживать. Параметр USERNAME не является обязательным, если вы хотите производить поиск среди всех процессов, выполняющихся на компьютере, независимо от пользователя, от имени которого они были запущены. В нашем же случае мы указываем %username%, это означает, что поиск будет выполняться только среди процессов , выполняющихся от имени текущего пользователя. Таким образом скрипт ищет указанный процесс, в случае если процесс с данными именем не найден скрипт запускает приложение, путь к которому указан в кавычках после start. Если же результат поиска покажет что искомый процесс уже запущен — скрипт прекратит выполнение.

Вам также может понравиться

About the Author: admin

Добавить комментарий