Локальные сети персональных компьютеров. Монтаж сети, установка программного обеспечения© Александр Фролов, Григорий ФроловТом 4, М.: Диалог-МИФИ, 1993, 287 стр. 11.1. Команды файла Login ScriptВ этом разделе мы приведем краткий список команд для файлов System Login Script и User Login Script. ATTACHПодключение к дополнительному файл-серверу. Эта команда нужна, если в вашей сети несколько серверов или если вам необходимо подключиться к серверу, который находится в другой сети, подключенной через мост. attach [имя_сервера[/имя пользователя[;пароль]]] Пример: attach netlab/frolov BREAKЭта команда позволит вам управлять возможностью прервать выполнение файла Login Script при помощи комбинации клавиш <Ctrl+C> или <Ctrl+Break>. break on разрешить прерывание выполнения файла Login Script break off запретить прерывание выполнения файла Login Script Пример: break on COMSPECЗадает каталог, который будет использован MS-DOS для повторных загрузок командного процессора. COMSPEC = [путь] command.com Пример: comspec=c:command.com DISPLAYОтображение содержимого текстового файла на экране. display [путь/] имя_файла Пример: display sys:mail/sysmsg/msg1.txt DOS BREAKЭта команда позволяет управлять возможностью прерывания выполнения программы на уровне MS-DOS при помощи комбинации клавиш <Ctrl+Break>. dos break on разрешить прерывание программы dos break off запретить прерывание программы Пример: dos break on Примечание: В версии 2.2 эта команда отсутствует. DOS SETУстановка значения переменной MS-DOS, аналог команды SET в файле autoexec.bat. [dos] set имя_переменной = "значение" Пример: set DMAKE = "f:\\projects\\dmake" Обратите внимание на повторение символа обратного слеша "\". DOS VERIFYВключение/выключение проверки данных, записываемых на локальный диск рабочей станции. dos verify on включить проверку dos verify off выключить проверку Пример: dos verify on DRIVEОпределение диска, который будет текущим. drive [буква имени диска]: Пример: drive c: EXITЭта команда используется для завершения выполнения файла Login Script. После завершения она позволяет запустить на выполнение любую программу или команду MS-DOS. exit "имя_файла" Пример: exit nc FIRE PHASERSЭта команда с названием, которое можно перевести как "пальнуть из фазера", предназначена не для стрельбы по пользователям или супервизору, а всего лишь для выдачи звукового сигнала заданное количество раз (определяется параметром n). fire phasers n times Пример: fire phasers 4 times FDISPLAYОтображение содержимого текстового файла на экране с фильтрацией управляющих символов, предназначенных для принтера или текстового процессора. Символы табуляции также не отображаются. fdisplay [путь/] имя_файла Пример: fdisplay sys:mail/sysmsg/msg1.txt GOTOКоманда позволяет изменить ход выполнения файла Login Script, передав управление строке с заданной в качестве параметра меткой. goto [метка] Пример: <......................> goto endfile <......................> endfile: exit IFУсловный оператор IF превращает ваш Login Script в небольшую программу. С его помощью вы можете проверить то или иное условие и в зависимости от результатов проверки выполнить разные команды. Например, можно проверить принадлежность пользователя к той или иной группе и для каждой группы (или даже для конкретного пользователя) выполнить свою инициализирующую последовательность команд. IF условия [AND|OR|NOR] условия THEN команда ELSE BEGIN команда END В качестве условия в команде IF обычно проверяется равенство или неравенство так называемых переменных идентификации (Identifier Variables). Мы расскажем вам только о самых необходимых переменных. Все эти переменные можно разделить на несколько групп. Проверка выполнения условий
Текущая дата
Текущее время
Сетевой адрес
Информация о пользователе
Информация о рабочей станции
Дополнительно к перечисленным выше переменным можно обращаться и к переменным среды DOS. Примеры: Проверка результата выполнения команды attach netlab/frolov if "%ERROR_LEVEL"="0" then map z: = netlab/sys: Проверка на принадлежность пользователя к определенной группе if MEMBER_OF "administrators" then map u: = sys:\system INCLUDEЭта команда действует аналогично оператору #include в языке программирования Си - она позволяет включать в файл Login Script содержимое других файлов. Благодаря этому размер файла Login Script можно уменьшить. include [путь]имя_файла Пример: if member of "ADMINISTRATORS" then include SYS:LOGS\ADMIN.LOG if member of "SMARTUSERS" then include SYS:LOGS\SMART.LOG MACHINEС помощью этой команды для рабочей станции можно установить так называемое "имя машины". Это имя может потребоваться для работы некоторых программ, например ориентированных на протокол передачи данных по сети NETBIOS (протоколы передачи данных будут рассмотрены подробно в следующем томе "Библиотеки системного программиста"). machine = "имя_машины" Пример: machine = "FROLOV" MAPОтображение каталогов файл-сервера на локальные диски рабочей станции. Это самая нужная команда в файле Login Script, она позволяет полностью автоматизировать процесс отображения каталогов. Приведем общий формат вызова команды (с некоторыми упрощениями): map [функция] [диск: = [путь[;,,,]] Возможны несколько форматов для команды map. map Если команда map выдана без параметров, на экране отображается карта текущего отображения каталогов. map диск:=[путь]каталог Отображение диска "диск" на сетевой каталог "каталог". В пути для сетевого каталога можно указывать имя сервера и имя тома. map диск:=[путь]каталог; диск:=[путь]каталог Одновременное отображение нескольких дисков в одной команде. map insert диск_поиска:=[путь]каталог Отображение сетевого каталога на диск. Полученный диск автоматически просматривается при запуске программ, поэтому он называется "диск_поиска". Альтернатива - использование команды PATH в файле autoexec.bat. map root диск:=[путь]каталог; диск:=диск Отображение сетевого каталога на корневой каталог локального диска. Требуется для тех программ, которые могут работать только с корневым каталогом. Обычно супервизор не предоставляет пользователям прав для доступа к корневым каталогам диска, поэтому единственный способ получить сетевой корневой каталог - использовать приведенную выше команду. map display on Включение режима вывода на экран во время выполнения файла Login Script результатов отображения каталогов. Этот режим используется по умолчанию. map display off Выключение вывода на экран результатов отображения. map errors on Разрешение вывода на экран сообщений об ошибках при выполнении команд отображения каталогов. Используется по умолчанию. map errors off Запрещение вывода сообщений об ошибках при выполнении отображения каталогов. Примеры: map y:=sys:system map u:=netlab/sys:system map t:=sysprg/sys:system PAUSE или WAITПри выполнении этой команды на экран выдается сообщение Strike a key when ready... после чего система ожидает, пока не будет нажата любая клавиша. Эту команду удобно использовать в файле Login Script после команд выдачи сообщений. Прочитав сообщение, пользователь нажмет клавишу, после чего выполнение файла Login Script будет продолжено. Пример: display sys:mail/sysmsg/msg1.txt pause REMARK, * или ;Команда нужна для использования части строк файла Login Script в качестве комментария. Вы можете указывать либо полное имя команды, либо сокращения: rem, "*" или ";". Пример: * Отображение тома SYS map x:=sys: ; Отображение тома VOLUME1 map y:=volume1: rem Отображение тома VOLUME2 map z:=volume2: SHIFTПри вводе команды login вы можете указать до 10 параметров, к которым можно обращаться при выполнении файла Login Script как к переменным. Например: "%0", "%1" и т. д. Команда shift сдвигает параметры вправо на количество позиций, заданного в качестве параметра команде shift. Пример: Пусть пользователь при входе в сеть запустил
login со следующими login netlab/frolov standard service При этом параметры получат следующие значения (которые вы сможете использовать, например, в команде IF): %0=netlab %1=frolov %2=standard %3=service Если теперь выдать команду "shift 1", то например, значением переменной "%2" станет "service". Команда shift может быть использована для анализа передаваемых программе login параметров. При этом можно в файле Login Script организовать цикл и в цикле, постепенно сдвигая параметры вправо, по очереди анализировать их. WRITEВывод сообщения на экран. Сообщение может состоять из одной строки в двойных кавычках либо может быть составлено из нескольких строк и содержимого переменных идентификации. Для сцепления строк можно использовать символ ";". write "текст" Пример: write "Добро пожаловать, уважаемый "; LOGIN_NAME #Запуск на выполнение программы MS-DOS или пакетного файла. # [путь]имя_программы [параметры] Пример: #capture NoB q=hetlabpq s=netlab |