Всегда поражался российскому софту — он странный. СБИС Плагин не исключение.
Если на компьютере создано несколько учетных записей, то для каждой необходимо установить отдельную копию СБИС Плагина.
Ну почему нельзя написать софт так, чтобы установить его на сервер один раз, а потом все юзеры бы им пользовались? Да, можно раскатить софт с помощью групповых политик. Мы сделаем с помощью локальных политик, напишем на терминальном сервере скрипт, который запустится один раз при логине каждого пользователя и установит СБИС Плагин.
Подготовка к установке СБИС Плагина
Для установки нам понадобится дистрибутив и сертификат безопасности.
https://sbis.ru/help/start/teh_terms/sbisplugin/install
Качаем сертификат и устанавливаем его в доверенные корневые центры сертификации локального компьютера. Без него СБИС Плагин в тихом режиме не хочет устанавливаться. Это эпично.
Сертификат называется 127.0.0.1. Название, вероятно, придумывали всех командой разработки плагина.
Скачиваем дистрибутив на терминальный сервер и кладём в общедоступную папку, например, C:\distrib\sbis.
На папку с плагином у пользователей терминального сервера должен быть доступ:
- чтение
- чтение и запуск
- просмотр содержимого
Скрипт для установки СБИС Плагина
Напишем bat-скрипт для установки плагина install_sbis.bat. Этот скрипт будет запускаться при логине пользователя на терминальный сервер.
@echo off
IF EXIST C:\Users\%UserName%\AppData\Sysadmin\sbis_installed.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\sbis_installed.txt
C:\distrib\sbis\SbisPlugin.exe /verysilent /SUPPRESSMSGBOXES /NORESTART / notShowInstallInProcessMessage
:END
Скрипт создаёт файлик sbis_installed.txt в папке пользователя с датой и временем запуска. При повторном логине скрипт увидит этот файл и не запустит повторную установку СБИС Плагина. Потом скрипт запускает установку СБИС Плагина в тихом режиме.
Автозапуск скрипта при логине пользователя
Скрипт install_sbis.bat копируем в папку C:\Windows\System32\GroupPolicy\User\Scripts\Logon.
Открываем редактор локальных политик на терминальном сервере.
gpedit.msc
Local Computer Policy > User Configuration > Windows Settings > Scripts (Logon/Logoff)
Редактируем параметр Logon.
Кнопка Show Files открывает папку со скриптами групповых политик, в нашем случае C:\Windows\System32\GroupPolicy\User\Scripts\Logon.
Нажимаем Add..
В 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
Редактируем, Enabled, указываем 0 минут.
Этот параметр есть не во всех операционных системах, он по умолчанию откладывает запуск скриптов при логине на 5 минут, это для нас неприемлемо.
Обновляем политики из командной строки от администратора:
gpupdate /force
Теперь при логине каждому пользователю терминального сервера установится СБИС Плагин.