Дорогие читатели! Редакция сайта iXBT.com обращается к вам с просьбой отключить блокировку рекламы на нашем сайте.
Дорогие читатели,
Редакция сайта iXBT.com обращается к вам с просьбой отключить блокировку рекламы на нашем сайте.
Дело в том, что деньги, которые мы получаем от показа рекламных баннеров, позволяют нам писать статьи и новости, проводить тестирования, разрабатывать методики, закупать специализированное оборудование и поддерживать в рабочем состоянии серверы,
чтобы форум и другие проекты работали быстро и без сбоев.
Мы никогда не размещали навязчивую рекламу и не просили вас кликать по баннерам.
Вашей посильной помощью сайту может быть отсутствие блокировки рекламы.
Для создания комфортных условий работы в сети NetWare имеет набор специальных средств. Настройку сетевого окружения при входе в сеть осуществляет автоматически выполняемая процедура регистрации, называемая также сценарием входа или Login Script.
Работу с сетевыми ресурсами, которую можно выполнять разными способами с помощью множества утилит NetWare, облегчает утилита NMENU.EXE (MENU.EXE в старых версиях NetWare), позволяющая использовать системы меню, ориентированные на потребности конкретных пользователей конкретной сети.
9.1 Процедура регистрации (Login Script)
Процедура регистрации (сценарий входа, Login script) — это последовательность действий, автоматически выполняемых при регистрации — входе в сеть NetWare. Процедура регистрации напоминает выполнение .BAT-файла DOS, но со специфическим набором команд, обеспечивающих формирование операционной среды, планирование (drive mapping) логических дисков станции в сетевые каталоги серверов, переназначение принтерных портов, вывод сообщений и т. п.
B NetWare 3.x и младше процедура регистрации состоит из двух частей: системная процедура (общая для всех пользователей данного сервера) и индивидуальная процедура пользователя.
B NetWare 4.x процедура регистрации состоит из трех частей: процедура контейнера (общая для всех пользователей данного контейнера), процедура профиля (единая для любой произвольно сформированной общности пользователей сети) и индивидуальная процедура пользователя.
Выполнением процедуры можно управлять через параметры команды LOGIN.
При постоянном использовании Windows необходимость процедуры почти отпадает, поскольку в этой среде есть свои удобные средства формирования операционного окружения и запоминания его для автоматического восстановления в следующих сеансах работы.
Создание процедур регистрации целесообразно для централизованного управления несамостоятельными пользователями, без них администратору пришлось бы выполнять массу несложных действий на КАЖДОЙ станции, что при большом их числе сделало бы сопровождение весьма трудоемкой задачей.
Опция /C очищает экран после ввода пароля (ClearScreen)
Опция /S name заменяет стандартную связку процедур (Script) на заданную полным путем и именем альтернативного файла name. Если name не задан, не выполняется ни одна процедура.
В NetWare 4.x для подавления процедур служит опция /NS, а в опции /S имя name может задавать не файл, а имя объекта Каталога, чьи процедуры нужно выполнять вместо обычных. Опции /SWAP и /NOSWAP управляют свопингом памяти во время выполнения LOGIN, опция /SWAP = d:\path задает диск и каталог, используемый для свопинга.
Параметры (parms) команды LOGIN могут задавать переменные, используемые в процедурах регистрации.
В процедурах регистрации используются команды получения доступа к сетевым ресурсам, команды управления выполнением процедур и команды оформления (табл. 9.2 ).
При использовании переменных (табл. 9.3) в строках их имена пишутся заглавными буквами после символа %. Переменные, обозначенные как %1, %2, %3... заполняются аргументами строки запуска команды LOGIN. В них по порядку попадают все слова строки, расположенные правее слова LOGIN (за исключением опций), разделенные пробелами. Например, после команды
LOGIN /CLS ADMIN FIRST
%1 примет значение ADMIN, %2 — FIRST
В командах процедур регистрации для разделителя имен подкаталогов используется символ слэш "/" (обратный слэш "\"
используется в качестве управляющего, табл. 9.1).
Команда MAP планирует драйвы на сетевые каталоги и отображает эти назначения. Планироваться на сетевые каталоги могут как сетевые драйвы, так и локальные (в этом случае обращение к физическим локальным драйвам блокируется до отмены данного плана). При ссылке на номер драйва в команде MAP *n: = path_name подразумевается n-я буква, начиная с первого сетевого драйва (FIRST NETWORK DRIVE для VLM, следующая буква за назначенным LASTDRIVE для NETX). Возможно также планирование на следующий доступный драйв командой MAP N[ext] = path_name.
Драйвы поиска (Search Drive), попадающие в переменную PATH окружения DOS, обозначаются S1: — S16:. Они в обратном порядке соответствуют буквам, начиная с Z: (для VLM — указанной параметром LASTDRIVE).
Имя сетевого каталога path_name может включать переменные MACHINE, OS, OS_VERSION, LOGIN_NAME, например:
MAP *1: = SYS:USERS/%LOGIN_NAME
для пользователя SERG спланирует первый сетевой драйв в каталог SYS:USERS/SERG.
В NetWare 4.x для задания сетевого каталога может использоваться имя отображающего его объекта-каталога (directory map object), который в заданном контексте будет отображать указанный реальный каталог.
Таблица 9.1 Специальные символы процедур регистрации
\R
Возврат в начало строки
\N
Перевод строки (без возврата к началу)
\"
Вывод кавычки
\7
Гудок
* или ;
Признак комментария
Таблица 9.2 Команды процедур регистрации.
Команды получения доступа к сетевым ресурсам:
ATTACH [server_name[/login_name]]
подключение к другому серверу NetWare 3.x и младше;
MAP [drive:]
ввод назначения дисков (всех или указанного)
MAP [option] drive: = path_name
планирование логического диска в сетевой каталог. drive — буква (номер) сетевого драйва или номер драйва поиска,
path_name
имя отображающего его сетевого каталога, начинающееся с имени тома (на текущем сервере) или имени сервера.
Возможные значения поля option команды MAP:
INS
вставка плана между существующими со сдвигом их букв;
DEL
удаление плана (для буквы локального драйва — его восстановление как локального)
ROOT
планирование псевдокорня
MAP DISPLAY ON (OFF)
управление выводом назначения планов;
MAP ERRORS ON (OFF)
управление выдачей сообщений об ошибках планирования;
Команды управления выполнением процедур:
BREAK ON (OFF)
разрешает прерывания процедуры по Ctrl-Break (Ctrl-C);
GOTO
осуществляет переход к метке;
IF... THEN... [ELSE...] END
конструкции для выполнения условных команд. В качестве условий может использоваться истинность (не 0) значений условных переменных или установленного отношения переменных: равно (=), не равно (!= или <>), больше (>), больше или равно (>=), меньше (<), меньше или равно (<=). Условия могут быть составными, объединяясь функциями AND (запятыми) и OR;
INCLUDE fname
вызывает процедуру, описанную во внешнем текстовом файле;
NO_DEFAULT
запрещает выполнение Default login script — процедуры пользователя по умолчанию (она выполняется при отсутствии личной);
PAUSE
приостанавливает процедуру до нажатия клавиши;
EXIT ["сommand"]
завершает процедуру с имитацией ввода текста, заключенного в кавычки, и нажатия клавиши Enter
# "ext_prog"
запускает внешние программы (EXECUTE);
[PC]COMPATIBLE
разрешает работу имитатора в команде EXIT для станций, у которых задан тип машины (MACHINE), отличный от IBM_PC;
SHIFT [n]
переносит неиспользованные аргументы командной строки к следующей переменной (количество позиций переноса может быть и отрицательным, по умолчанию 1);
Команды задания переменных:
COMSPEC = pathname
задает файл командного процессора (COMMAND.COM);
DOS BREAK ON OFF
управляет разрешением прерывания по Ctrl-Break (Ctrl-C) в DOS;
DOS SET parm = "val"
задает переменные окружения DOS (можно и просто SET);
выводит указанную строку на экран (строка может содержать символьные константы и переменные, например, команда WRITE "Привет, %LOGIN_NAME!" пользователю SERG выведет строку Привет, SERG!);
REM[ARK]
определяет остаток строки как комментарий. Символы * и ; также обозначают комментарии . Комментарии нельзя включать в строки с командами ATTACH, COMSPEC, DISPLAY, FDISPLAY, DOS SET, EXIT, MACHINE, MAP, WRITE.
Дополнительные команды NetWare 4.x:
CONTEXT context
смена контекста дерева каталога
PROFILE "prof_name"
выполнение процедуру чужого профиля вместо своего
SET_TIME ON | OFF
управление синхронизации станции с сетевым временем
WAIT
синоним PAUSE
CLS
очистка экрана
LASTLOGINTIME
вывод даты и времени последней регистрации
SWAP
включение свопинга памяти при выполнении LOGIN (по умолчанию)
NOSWAP
выключение свопинга памяти
Таблица 9.3 Переменные, используемые в командах процедур регистрации
Дата:
DAY
день месяца (01-31);
DAY_OF_WEEK
день недели (Monday, Tuesday...);
NDAY_OF_WEEK
номер дня недели (1-7, воскресенье=1);
MONTH
номер месяца (01-12);
MONTH_NAME
месяц (January, February...);
SHORT_YEAR
год (короткий: 88, 89...);
YEAR
год (1990, 1991...)
Время:
AM_PM
утро или вечер (am или pm);
GREETING_TIME
утро, день или вечер (morning, afternoon, evening);
HOUR
час (1-12);
HOUR24
час (00-23);
MINUTE
минута (00-59);
SECOND
секунда (00-59).
Пользователь:
FULL_NAME
полное имя (full name);
LOGIN_NAME
имя регистрации;
USER_ID
идентификатор.
PASSWORD_EXPIRES
количество дней до истечения срока действия пароля.
Дополнительные переменные для NDS:
CN
имя объекта-пользователя
LOGIN_CONTEXT
имя контекста, в котором находится объект-пользователь.
LOGIN_ALIAS_CONTEXT
результат проверки, является ли текущий контекст псевдонимом.
REQUESTER_CONTEXT
текущий контекст.
LAST_NAME
значение атрибута LAST NAME пользователя
attrib_name
значение любого атрибута пользователя-объекта NDS.
Станция:
MACHINE
имя машины в SHELL.CFG или NET.CFG (по умолчанию IBM_PC, допускает выполнение строки из команды EXIT);
OS
имя ОС в SHELL.CFG или NET.CFG (по умолчанию MSDOS);
OS_VERSION
версия ОС (6.22);
P_STATION
MAC-адрес узла (12 шестнадцатеричных цифр);
SMACHINE
краткое имя машины (по умолчанию IBM), используется для построения имен оверлейных файлов сетевых утилит, зависящих от типа машин (IBM$RUN.OVL, CMPQ$RUN.OVL и т. д.);
STATION
номер соединения станции на сервере;
SHELL_TYPE
номер версии оболочки;
NETWARE_REQUESTER
номер версии запросчика VLM/
Сеть:
NETWORK_ADDRESS
номер кабельной сети (8 шестнадцатеричных цифр);
FILE_SERVER
имя текущего сервера.;
Окружение DOS:
Значение любой переменной окружения, имя которой заключено в угловые скобки < >
используется как элемент строки.
Условные переменные:
ACCESS_SERVER
имеет значение TRUE если работает Access Server;
ERROR_LEVEL
номер ошибки, 0=нет ошибок;
MEMBER OF "group"
TRUE если пользователь входит в указанную группу.
NOT MEMBER OF "group"
TRUE если пользователь не входит в указанную группу;
9.2 Создание и использование меню
Меню NetWare позволяют облегчить применение любых команд, выполняемых с консоли рабочей станции сети. Меню работают в символьном режиме на любом видеоадаптере, их функции и цветовая палитра могут определяться пользователем. Процесс создания меню состоит из определения сценария в текстовом файле .SRC, имеющем легко понимаемую структуру и синтаксис, и компиляции его утилитой MENUMAKE в используемый при исполнении файл .DAT. Меню исполняется командой
NMENU [path] menu_file
из командной строки, .BAT-файла или процедуры регистрации.
Исходный файл содержит организационные и управляющие команды.
Организующая команда MENU пишется с начала строки. Синтаксис
MENU m_num, scr_name — признак начала экрана меню или подменю; m_num- номер (1-255) меню, используемый во внутренних перекрестных ссылках, scr_name — текст, отображаемый в верхней строке экрана. При запуске NMENU первым выводится экран, описанный в самом начале .SRC-файла — главное меню (независимо от его номера).
Организующая команда ITEM пишется с обязательным отступом:
ITEM el_name {[op1 [op2...]]} — определение пунктов меню; el_name — имя элемента, отображаемое на экране, op1, op2 — необязательные опции (при отсутствии опций фигурные скобки все равно ставятся).
Таблица 9.4 Опции команды ITEM
Опция
Действие
BATCH
Удаляет NMENU.EXE из памяти на время выполнения пункта. Экономит память за счет некоторого замедления. Автоматически устанавливает опцию CHDIR.
CHDIR
Возвращает в каталог, являвшийся текущим при запуске NMENU.
PAUSE
Задерживает выход из пункта до нажатия клавиши.
SHOW
Показывает в левом верхнем углу имя команды DOS, выполняющей пункт.
Управляющие команды пишутся также с отступом, для большей наглядности отступ должен быть больше, чем у ITEM.
Таблица 9.5 Управляющие команды меню
Команда
Действие
EXEC com_name
Выполняет указанную команду DOS
LOAD fname
Загружает другое меню из указанного файла
SHOW m_num
Вызывает подменю с указанным номером
GETO
Запрашивает необязательную информацию перед выполнением следующих пунктов, помещая ее в переменную %n.
GETP
Запрашивает информацию перед выполнением следующих пунктов, помещая ее в переменную %n.
GETR
Запрашивает обязательную информацию перед выполнением следующих пунктов, помещая ее в переменную %n.
Таблица 9.6 Опции команды EXEC
Опция
Действие
EXEC EXIT
Завершение работы с меню и выход в DOS
EXEC CALL
Вызов командного (.BAT) файла
EXEC DOS
Временный выход в DOS — загрузка командного процессора (COMMAND.COM), по окончании работы с ним нужно набрать команду EXIT
EXEC LOGOUT
Завершение сеанса и разрегистрация пользователя.
Команды GETR, GETO, GETP вводят текст с консоли по порядку в переменные %1, %2, %3... и имеют общий синтаксис:
GETx prompt {head} max_len, default, {tail}
prompt — поясняющее приглашение, default — значение по умолчанию, max_len — ограничение на длину ввода, head и tail — фрагменты текста, добавляемые перед и после символов, введенных пользователем.
Для создания комфортных условий работы в сети NetWare имеет набор специальных средств. Настройку сетевого окружения при входе в сеть осуществляет автоматически выполняемая процедура регистрации, называемая также сценарием входа или Login Script.
Работу с сетевыми ресурсами, которую можно выполнять разными способами с помощью множества утилит NetWare, облегчает утилита NMENU.EXE (MENU.EXE в старых версиях NetWare), позволяющая использовать системы меню, ориентированные на потребности конкретных пользователей конкретной сети.
9.1 Процедура регистрации (Login Script)
Процедура регистрации (сценарий входа, Login script) — это последовательность действий, автоматически выполняемых при регистрации — входе в сеть NetWare. Процедура регистрации напоминает выполнение .BAT-файла DOS, но со специфическим набором команд, обеспечивающих формирование операционной среды, планирование (drive mapping) логических дисков станции в сетевые каталоги серверов, переназначение принтерных портов, вывод сообщений и т. п.
B NetWare 3.x и младше процедура регистрации состоит из двух частей: системная процедура (общая для всех пользователей данного сервера) и индивидуальная процедура пользователя.
B NetWare 4.x процедура регистрации состоит из трех частей: процедура контейнера (общая для всех пользователей данного контейнера), процедура профиля (единая для любой произвольно сформированной общности пользователей сети) и индивидуальная процедура пользователя.
Выполнением процедуры можно управлять через параметры команды LOGIN.
При постоянном использовании Windows необходимость процедуры почти отпадает, поскольку в этой среде есть свои удобные средства формирования операционного окружения и запоминания его для автоматического восстановления в следующих сеансах работы.
Создание процедур регистрации целесообразно для централизованного управления несамостоятельными пользователями, без них администратору пришлось бы выполнять массу несложных действий на КАЖДОЙ станции, что при большом их числе сделало бы сопровождение весьма трудоемкой задачей.
Опция /C очищает экран после ввода пароля (ClearScreen)
Опция /S name заменяет стандартную связку процедур (Script) на заданную полным путем и именем альтернативного файла name. Если name не задан, не выполняется ни одна процедура.
В NetWare 4.x для подавления процедур служит опция /NS, а в опции /S имя name может задавать не файл, а имя объекта Каталога, чьи процедуры нужно выполнять вместо обычных. Опции /SWAP и /NOSWAP управляют свопингом памяти во время выполнения LOGIN, опция /SWAP = d:\path задает диск и каталог, используемый для свопинга.
Параметры (parms) команды LOGIN могут задавать переменные, используемые в процедурах регистрации.
В процедурах регистрации используются команды получения доступа к сетевым ресурсам, команды управления выполнением процедур и команды оформления (табл. 9.2 ).
При использовании переменных (табл. 9.3) в строках их имена пишутся заглавными буквами после символа %. Переменные, обозначенные как %1, %2, %3... заполняются аргументами строки запуска команды LOGIN. В них по порядку попадают все слова строки, расположенные правее слова LOGIN (за исключением опций), разделенные пробелами. Например, после команды
LOGIN /CLS ADMIN FIRST
%1 примет значение ADMIN, %2 — FIRST
В командах процедур регистрации для разделителя имен подкаталогов используется символ слэш "/" (обратный слэш "\"
используется в качестве управляющего, табл. 9.1).
Команда MAP планирует драйвы на сетевые каталоги и отображает эти назначения. Планироваться на сетевые каталоги могут как сетевые драйвы, так и локальные (в этом случае обращение к физическим локальным драйвам блокируется до отмены данного плана). При ссылке на номер драйва в команде MAP *n: = path_name подразумевается n-я буква, начиная с первого сетевого драйва (FIRST NETWORK DRIVE для VLM, следующая буква за назначенным LASTDRIVE для NETX). Возможно также планирование на следующий доступный драйв командой MAP N[ext] = path_name.
Драйвы поиска (Search Drive), попадающие в переменную PATH окружения DOS, обозначаются S1: — S16:. Они в обратном порядке соответствуют буквам, начиная с Z: (для VLM — указанной параметром LASTDRIVE).
Имя сетевого каталога path_name может включать переменные MACHINE, OS, OS_VERSION, LOGIN_NAME, например:
MAP *1: = SYS:USERS/%LOGIN_NAME
для пользователя SERG спланирует первый сетевой драйв в каталог SYS:USERS/SERG.
В NetWare 4.x для задания сетевого каталога может использоваться имя отображающего его объекта-каталога (directory map object), который в заданном контексте будет отображать указанный реальный каталог.
Таблица 9.1 Специальные символы процедур регистрации
\R
Возврат в начало строки
\N
Перевод строки (без возврата к началу)
\"
Вывод кавычки
\7
Гудок
* или ;
Признак комментария
Таблица 9.2 Команды процедур регистрации.
Команды получения доступа к сетевым ресурсам:
ATTACH [server_name[/login_name]]
подключение к другому серверу NetWare 3.x и младше;
MAP [drive:]
ввод назначения дисков (всех или указанного)
MAP [option] drive: = path_name
планирование логического диска в сетевой каталог. drive — буква (номер) сетевого драйва или номер драйва поиска,
path_name
имя отображающего его сетевого каталога, начинающееся с имени тома (на текущем сервере) или имени сервера.
Возможные значения поля option команды MAP:
INS
вставка плана между существующими со сдвигом их букв;
DEL
удаление плана (для буквы локального драйва — его восстановление как локального)
ROOT
планирование псевдокорня
MAP DISPLAY ON (OFF)
управление выводом назначения планов;
MAP ERRORS ON (OFF)
управление выдачей сообщений об ошибках планирования;
Команды управления выполнением процедур:
BREAK ON (OFF)
разрешает прерывания процедуры по Ctrl-Break (Ctrl-C);
GOTO
осуществляет переход к метке;
IF... THEN... [ELSE...] END
конструкции для выполнения условных команд. В качестве условий может использоваться истинность (не 0) значений условных переменных или установленного отношения переменных: равно (=), не равно (!= или <>), больше (>), больше или равно (>=), меньше (<), меньше или равно (<=). Условия могут быть составными, объединяясь функциями AND (запятыми) и OR;
INCLUDE fname
вызывает процедуру, описанную во внешнем текстовом файле;
NO_DEFAULT
запрещает выполнение Default login script — процедуры пользователя по умолчанию (она выполняется при отсутствии личной);
PAUSE
приостанавливает процедуру до нажатия клавиши;
EXIT ["сommand"]
завершает процедуру с имитацией ввода текста, заключенного в кавычки, и нажатия клавиши Enter
# "ext_prog"
запускает внешние программы (EXECUTE);
[PC]COMPATIBLE
разрешает работу имитатора в команде EXIT для станций, у которых задан тип машины (MACHINE), отличный от IBM_PC;
SHIFT [n]
переносит неиспользованные аргументы командной строки к следующей переменной (количество позиций переноса может быть и отрицательным, по умолчанию 1);
Команды задания переменных:
COMSPEC = pathname
задает файл командного процессора (COMMAND.COM);
DOS BREAK ON OFF
управляет разрешением прерывания по Ctrl-Break (Ctrl-C) в DOS;
DOS SET parm = "val"
задает переменные окружения DOS (можно и просто SET);
выводит указанную строку на экран (строка может содержать символьные константы и переменные, например, команда WRITE "Привет, %LOGIN_NAME!" пользователю SERG выведет строку Привет, SERG!);
REM[ARK]
определяет остаток строки как комментарий. Символы * и ; также обозначают комментарии . Комментарии нельзя включать в строки с командами ATTACH, COMSPEC, DISPLAY, FDISPLAY, DOS SET, EXIT, MACHINE, MAP, WRITE.
Дополнительные команды NetWare 4.x:
CONTEXT context
смена контекста дерева каталога
PROFILE "prof_name"
выполнение процедуру чужого профиля вместо своего
SET_TIME ON | OFF
управление синхронизации станции с сетевым временем
WAIT
синоним PAUSE
CLS
очистка экрана
LASTLOGINTIME
вывод даты и времени последней регистрации
SWAP
включение свопинга памяти при выполнении LOGIN (по умолчанию)
NOSWAP
выключение свопинга памяти
Таблица 9.3 Переменные, используемые в командах процедур регистрации
Дата:
DAY
день месяца (01-31);
DAY_OF_WEEK
день недели (Monday, Tuesday...);
NDAY_OF_WEEK
номер дня недели (1-7, воскресенье=1);
MONTH
номер месяца (01-12);
MONTH_NAME
месяц (January, February...);
SHORT_YEAR
год (короткий: 88, 89...);
YEAR
год (1990, 1991...)
Время:
AM_PM
утро или вечер (am или pm);
GREETING_TIME
утро, день или вечер (morning, afternoon, evening);
HOUR
час (1-12);
HOUR24
час (00-23);
MINUTE
минута (00-59);
SECOND
секунда (00-59).
Пользователь:
FULL_NAME
полное имя (full name);
LOGIN_NAME
имя регистрации;
USER_ID
идентификатор.
PASSWORD_EXPIRES
количество дней до истечения срока действия пароля.
Дополнительные переменные для NDS:
CN
имя объекта-пользователя
LOGIN_CONTEXT
имя контекста, в котором находится объект-пользователь.
LOGIN_ALIAS_CONTEXT
результат проверки, является ли текущий контекст псевдонимом.
REQUESTER_CONTEXT
текущий контекст.
LAST_NAME
значение атрибута LAST NAME пользователя
attrib_name
значение любого атрибута пользователя-объекта NDS.
Станция:
MACHINE
имя машины в SHELL.CFG или NET.CFG (по умолчанию IBM_PC, допускает выполнение строки из команды EXIT);
OS
имя ОС в SHELL.CFG или NET.CFG (по умолчанию MSDOS);
OS_VERSION
версия ОС (6.22);
P_STATION
MAC-адрес узла (12 шестнадцатеричных цифр);
SMACHINE
краткое имя машины (по умолчанию IBM), используется для построения имен оверлейных файлов сетевых утилит, зависящих от типа машин (IBM$RUN.OVL, CMPQ$RUN.OVL и т. д.);
STATION
номер соединения станции на сервере;
SHELL_TYPE
номер версии оболочки;
NETWARE_REQUESTER
номер версии запросчика VLM/
Сеть:
NETWORK_ADDRESS
номер кабельной сети (8 шестнадцатеричных цифр);
FILE_SERVER
имя текущего сервера.;
Окружение DOS:
Значение любой переменной окружения, имя которой заключено в угловые скобки < >
используется как элемент строки.
Условные переменные:
ACCESS_SERVER
имеет значение TRUE если работает Access Server;
ERROR_LEVEL
номер ошибки, 0=нет ошибок;
MEMBER OF "group"
TRUE если пользователь входит в указанную группу.
NOT MEMBER OF "group"
TRUE если пользователь не входит в указанную группу;
9.2 Создание и использование меню
Меню NetWare позволяют облегчить применение любых команд, выполняемых с консоли рабочей станции сети. Меню работают в символьном режиме на любом видеоадаптере, их функции и цветовая палитра могут определяться пользователем. Процесс создания меню состоит из определения сценария в текстовом файле .SRC, имеющем легко понимаемую структуру и синтаксис, и компиляции его утилитой MENUMAKE в используемый при исполнении файл .DAT. Меню исполняется командой
NMENU [path] menu_file
из командной строки, .BAT-файла или процедуры регистрации.
Исходный файл содержит организационные и управляющие команды.
Организующая команда MENU пишется с начала строки. Синтаксис
MENU m_num, scr_name — признак начала экрана меню или подменю; m_num- номер (1-255) меню, используемый во внутренних перекрестных ссылках, scr_name — текст, отображаемый в верхней строке экрана. При запуске NMENU первым выводится экран, описанный в самом начале .SRC-файла — главное меню (независимо от его номера).
Организующая команда ITEM пишется с обязательным отступом:
ITEM el_name {[op1 [op2...]]} — определение пунктов меню; el_name — имя элемента, отображаемое на экране, op1, op2 — необязательные опции (при отсутствии опций фигурные скобки все равно ставятся).
Таблица 9.4 Опции команды ITEM
Опция
Действие
BATCH
Удаляет NMENU.EXE из памяти на время выполнения пункта. Экономит память за счет некоторого замедления. Автоматически устанавливает опцию CHDIR.
CHDIR
Возвращает в каталог, являвшийся текущим при запуске NMENU.
PAUSE
Задерживает выход из пункта до нажатия клавиши.
SHOW
Показывает в левом верхнем углу имя команды DOS, выполняющей пункт.
Управляющие команды пишутся также с отступом, для большей наглядности отступ должен быть больше, чем у ITEM.
Таблица 9.5 Управляющие команды меню
Команда
Действие
EXEC com_name
Выполняет указанную команду DOS
LOAD fname
Загружает другое меню из указанного файла
SHOW m_num
Вызывает подменю с указанным номером
GETO
Запрашивает необязательную информацию перед выполнением следующих пунктов, помещая ее в переменную %n.
GETP
Запрашивает информацию перед выполнением следующих пунктов, помещая ее в переменную %n.
GETR
Запрашивает обязательную информацию перед выполнением следующих пунктов, помещая ее в переменную %n.
Таблица 9.6 Опции команды EXEC
Опция
Действие
EXEC EXIT
Завершение работы с меню и выход в DOS
EXEC CALL
Вызов командного (.BAT) файла
EXEC DOS
Временный выход в DOS — загрузка командного процессора (COMMAND.COM), по окончании работы с ним нужно набрать команду EXIT
EXEC LOGOUT
Завершение сеанса и разрегистрация пользователя.
Команды GETR, GETO, GETP вводят текст с консоли по порядку в переменные %1, %2, %3... и имеют общий синтаксис:
GETx prompt {head} max_len, default, {tail}
prompt — поясняющее приглашение, default — значение по умолчанию, max_len — ограничение на длину ввода, head и tail — фрагменты текста, добавляемые перед и после символов, введенных пользователем.