Перейти к основному содержанию

Запуск BAT скрипта при логине на сервер один раз

code

Настроим автозапуск BAT скрипта при логине юзера на сервер. Сделаем так, чтобы скрипт запускался только один раз, а при последующих входах запускаться не будет.

Пишем BAT скрипт

У меня BAT файл называется install_sbis.bat.

@echo off
IF EXIST C:\Users\%UserName%\AppData\Sysadmin\flag.txt GOTO END
IF EXIST C:\Users\%UserName%\AppData\Sysadmin GOTO SYSADMIN
md C:\Users\%UserName%\AppData\Sysadmin
:SYSADMIN
set h=%time:~0,2%
set h=%h: =0%
set fn=%date% %h%:%time:~3,2%:%time:~6,2%
echo %fn% > C:\Users\%UserName%\AppData\Sysadmin\flag.txt

Здесь код вашего скрипта

:END

Скрипт создаёт файлик flag.txt в папке пользователя с датой и временем запуска. При повторном логине скрипт увидит этот файл и не выполнит повторно ваш код.

Автозапуск скрипта при логине пользователя

Скрипт install_sbis.bat копируем в папку C:\Windows\System32\GroupPolicy\User\Scripts\Logon.

sbis

Открываем редактор локальных политик на сервере.

gpedit.msc

sbis

Local Computer Policy > User Configuration > Windows Settings > Scripts (Logon/Logoff)

sbis

Редактируем параметр Logon.

sbis

Кнопка Show Files открывает папку со скриптами групповых политик, в нашем случае C:\Windows\System32\GroupPolicy\User\Scripts\Logon.

Нажимаем Add..

sbis

В Script Name указываем ссылку на наш скрипт C:\Windows\System32\GroupPolicy\User\Scripts\Logon\install_sbis.bat. ОК. Сохраняем изменения.

В локальных политиках находим параметр Local Computer Policy > Computer Configuration > Administrative Templates > System > Group Policy > Configure Logon Script Delay 

sbis

Редактируем, Enabled, указываем 0 минут.

sbis

Этот параметр есть не во всех операционных системах, он по умолчанию откладывает запуск скриптов при логине на 5 минут, это для нас неприемлемо.

Обновляем политики из командной строки от администратора:

gpupdate /force

sbis

Теперь скрипт запустится при логине пользователя на сервер.

Теги

 

Похожие материалы

BAT скрипт — скрыть вводимый пароль

Понадобилось модифицировать пакетный BAT скрипт таким образом, чтобы на экране не отображался ввод пароля. Планировалось демонстрировать работу скрипта на экране, при этом нужно было не светить вводимый пароль.

Теги