====== Выполнение программы входа в домен (Logon Script) ======
:!: Данное решение тестировалось только на контроллере домена [[samba:samba|Samba]] **(стиль NT4)** и [[kixtart:kixtart|KiXtart 4.53]]
===== Расположение папок и файлов =====
Все папки и файлы должны быть размещены на ''Logon Server'', при установленном и настроенном домене это значение можно узнать из переменной окружения ''LogonServer''. В данном примере это значение равно ''Server'':
''\\Server\netlogon''
|**''bin''**|[[#bin|Папка с исполняемыми файлами]]|
|**''connects''**|[[#connects|Папка с скриптами монтирования дисков и подключения принтеров]]|
|**''files''**|[[#files|Папка с файлами]]|
|**''users''**|[[#users|Папка с скриптами пользователей домена]]|
|''Domain.ini''| [[#Domain.ini|Файл параметров для данного домена]]|
|''Main.kix''|[[#Main.kix|Скрипт для вызова основного скрипта (заглушка)]]|
|''Logon.kix''|[[#Logon.kix|Основной скрипт]]|
|''NTconfig.POL''|[[windows_policy:windows_policy|Файл политики (Windows Policy)]]|
===== Установки пользователя =====
Для каждого пользователя домена нужно задать:
User Environment profile
Logon Script = users\kix32.exe
===== Main.kix =====
Call @LDRIVE +"\"+"Logon.kix"
===== Domain.ini =====
==== Меню ====
Технология описана здесь: [[hierarchical_menu_system:hierarchical_menu_system|Иерархическая система меню]]
{{:logon_script_kixtart:start_menu_windows.gif|Пример внешнего вида}}
**Структура**
^''[Menu]''| **Уровень 1**\\ меню и файлы | **Уровень 2**\\ меню и файлы | **Уровень 3**\\ только файлы |
| ^''[File_1]''|
| ^''[Menu_1]''|
| | ^''[File_1_1]''|
| | ^''[Menu_1_1]''|
| | | ^''[File_1_1_1]''|
**Описание параметров**
^''[Menu]''|Верхний уровень|
|''Menu_Number''|Количество меню уровня 1|
|''File_Number''|Количество файлов уровня 1|
^ ''[Menu_1]''|Меню уровня 1|
|''Name''|Имя меню|
|''File_Number''|Количество файлов уровня 2|
|''Menu_Number''|Количество меню уровня 2|
^''[Menu_1_1]''|Меню уровня 2|
|''File_Number''|Количество файлов уровня 3|
^''[File_1]''|Файл (все уровни)|
|''NAME''|Имя ярлыка|
|''APPL''|Имя файла программы (с полным путем)|
|''ICON''|Имя файла иконки (с полным путем)|
|''DIR''|Рабочая папка, без завершающего слеша (''\'')|
|''ARG''|Параметры запуска|
|''RSTL''|Способ отображения окна объекта при открытии ярлыка:\\ ''1'' стандартное окно\\ ''3'' развернутое окно (полноэкранный режим)\\ ''7'' свернутое окно (кнопка на панели задач)|
|''DSCR''|Описание|
|''USR_GRP''|Имя группы доступа, * = любая группа|
|''SUB_PRG''|Имя подпрограммы для выполнения дополнительных действий|
==== Загрузка данных из файлов реестра ====
FIXME
**Описание параметров**
^''[Registry]''|Верхний уровень|
|''Registry_Number''|Количество файлов реестра|
^ ''[Registry_1]''|Меню уровня 1|
| ''Reg_File''|Имя файла, относительно ''\\Server\netlogon'' ) |
| ''USR_GRP''|Имя группы доступа, * = любая группа|
**Пример**
[Registry]
Registry_Number=2
[Registry_1]
Reg_File="files\1.reg"
USR_GRP="Domain Users"
[Registry_2]
Reg_File="files\1.reg"
USR_GRP="Domain Users"
==== Синхронизация файлов и папок ====
[[sync_files_windows:sync_files_windows|Синхронизация файлов (Windows)]]
[Programs]
Programs_LOCAL="C:\Programs"
Programs_ROOT="\\Server\Programs\"
USR_GRP="Programs_R"
VERSION_FILE="Version.txt"
pc01=01
pc02=01
Admin=All
==== Другие секции ====
[Domain]
TIME_SERVER="\\Server"
USERHOME="\\Server\UserHome"
USR_GRP_OneS77 = "1C_R"
[ClientBank]
USR_GRP="BC_R"
SHARE="\\Server\BC"
===== Logon.kix =====
Основной скрипт
{{:logon_script_kixtart:logon.kix|Logon.kix}}
==== Выполнение локально (без домена) ====
FIXME
KIX32.EXE Logon.kix $MODE=1 $DOMAIN_INI=C:\Local.ini
===== bin =====
Папка с исполняемыми файлами
robocopy.exe
Shortcut.exe
Для синхронизации используется [[robocopy:robocopy|RoboCopy]], а для создания ярлыков программа [[http://www.optimumx.com/download/Shortcut.zip|Shortcut]]
===== files =====
Папка с файлами
===== users =====
Скрипты пользователей (тип User)
Запускаемые файлы и библиотеки ''KiXtart''
KIX32.EXE
KIXTART.EXE
kx16.dll
KX32.dll
KX95.dll
kxrpc.exe
WKIX32.EXE
Пример файла:
$SCRIPT_1 = "\connects\Common.kix"
$SCRIPT_2 = "\connects\user.kix"
$SCRIPT_3 = ""
$SCRIPT_4 = ""
$SCRIPT_5 = ""
$SCRIPT_6 = ""
$SCRIPT_7 = ""
$SCRIPT_8 = ""
Call @LDRIVE +"\"+"Main.kix"
В скрипте устанавливаются переменные окружения для ''KiXtart'', значения которых - названия файлов скриптов, которые должны быть выполнены.
В данной версии используются переменные с ''$SCRIPT_1'' по ''$SCRIPT_8''.
===== connects =====
Скрипты типа Connection
Решает задачи:
* Назначения соответствия между буквой диска и сетевым ресурсом (Drive's connections)
* Удаления соединений с сетевыми принтерами (Delete PRN's connections)
* Добавления соединений с сетевыми принтерами (Add PRN's connections)
* Установки принтера по умолчанию (Default PRN)
* Назначение сетевых принтеров портам LPT1, LPT2 (Add PRN port connections)
;Drive's connections
$SCR_TYPE = "1" ;1 - Run SET_CONNECTIONS
$DRV_D = ""
$DRV_E = ""
$DRV_F = ""
$DRV_G = ""
$DRV_H = ""
$DRV_I = ""
$DRV_J = ""
$DRV_K = ""
$DRV_L = ""
$DRV_M = ""
$DRV_N = ""
$DRV_O = ""
$DRV_P = ""
$DRV_Q = ""
$DRV_R = ""
$DRV_S = ""
$DRV_T = ""
$DRV_U = ""
$DRV_V = ""
$DRV_W = ""
$DRV_X = ""
$DRV_Y = ""
$DRV_Z = ""
;Delete PRN's connections
$PRN_DEL_1 = ""
$PRN_DEL_2 = ""
$PRN_DEL_3 = ""
$PRN_DEL_4 = ""
$PRN_DEL_5 = ""
$PRN_DEL_6 = ""
$PRN_DEL_7 = ""
$PRN_DEL_8 = ""
;Add PRN's connections
$PRN_1 = ""
$PRN_2 = ""
$PRN_3 = ""
$PRN_4 = ""
$PRN_5 = ""
$PRN_6 = ""
$PRN_7 = ""
$PRN_8 = ""
;Default PRN
$PRN_DEF = ""
;Add PRN port connections
$LPT1 = ""
$LPT2 = ""
{{tag>File_Server Samba Application_Launcher Linux MS_Windows}}