Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Основи створення сценаріїв






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

Сценарії є зручним інструментом для гнучкої настройки робочого середовища користувача. Основною метою використання сценаріїв в середовищі Windows є спрощення або автоматизація адміністративних процедур.

Спочатку сценарії виглядали командні файли (текстові файли з розширенням.ВАТ, які також називалися batch-файли), що складалися зі списку команд, які, в іншому випадку, довелося б запускати з командного рядка або сеансу DOS.

В даний час batch-файли є просто текстовими файлами, що містять послідовність команд, які необхідно виконати в даному середовищі. Кожна операційна система має власне середовище виконання сценаріїв, кілька відрізняється від інших. Наприклад, сценарії, написані; для Windows NT, не виконуватимуться в середовищі Windows 95, а сценарії для Windows 95 - в середовищі DOS.

Більшість мережевих можливостей, наявних у складі Windows NT, Windows 95 і Windows for Workgroups, засновані на наборі команд Microsoft LAN Manager.

Більшість сценаріїв, написаних для середовища LAN Manager, будуть виконуватися також і для Windows 95 і Windows NT.

Багато команд Microsoft LAN Manager використовують NET.EXE, багатофункціональну програму, що дозволяє серед іншого виконувати і розривати Підключення мережевих ресурсів, здійснювати процедуру реєстрації в мережі і переривання сеансу роботи в мережі, робити локальні ресурси загальними, синхронізувати системний час з мережевим сервером, змінювати параметри настройки продуктивності сервера.

Сценарії для Windows NT надають найбільш широкі можливості, оскільки вона успадкувала найбільш прогресивні особливості своїх попередників. Наприклад, набір команд Microsoft Windows NT значно ширше, ніж в середовищі DOS

Частково це досягається за рахунок икористання команд зі складу Windows NT Resource Kit, істотно розширює можливості в області написання сценаріїв.

Ресурсі Kit містить велику кількість утиліт командного рядка, які можна включати безпосередньо в створюваний сценарій.

Windows NT базується на попередніх версіях операційних систем і містить безліч команд і операцій написання сценаріїв для цих операційних системах.

Сценарії реєстрації зазвичай зберігаються в розділеному каталозі NETLOGON на основному контролері домену. Для тиражування сценаріїв на кожен з резервних контролерів домену повинен бути визначений якою-небудь механізм реплікації. Виконання сценаріїв реєстрації починається практично одночасно з початком завантаження налаштувань робочого середовища користувача (для зміни даного параметра існує певний ключ реєстру і правила системної політики).

Якщо ви тестуєте написаний сценарій, помістіть його в папку STARTUP, відповідно вашого профілю. Переконайтеся, що сценарій міститься в папці

 

< Username> \ Start Menu \ Programs \ Startup,

 

а не в All Users \ Start Menu \ Prograg Startup. Сценарій виконається відразу після завантаження налаштувань робочого середовища користувача, що всього на кілька секунд пізніше, ніж при запуску його з контролера домену.

Тільки файли, що мають цілком певні розширення, можуть виконуватися в якості самостійної програми, в іншому випадку вони повинні бути передані іншій програмі для обробки як параметр. Перелік розширень файлів, які можуть виконуватися безпосередньо, зберігається в ключі реєстру

 

HKEY_CURRENT_USER \ Software \ Microsoft \ WindowsNT \ CurrentVersion \ Windows \ Programs.

 

За умовчанням в цей список входять розширення ЕХЕ, СОМ, ВАТ, PIF і СMD, але можна доповнити його іншими значеннями.

Аналогічно командам Windows NT, сценарії передбачають можливість обробки параметрів, переданих ззовні. Наприклад, використання команди СОРY без параметрів абсолютно марно, а якщо додати всього два параметра, то Windows NT здатна виконати деякі корисні дії і не видавати повідомлення про помилку:

 

COPY MYFILE.TXT NEWFILE.TXT

 

Так виглядає команда із заданими параметрами. Якби вона представляла собою реально використовуваний сценарій, ці параметри були б представлені, як аргументи. Перший аргумент, MYFILE.TXT, має внутрішнє представлення% +1, другий, NEWRLE.TXT, представлення% 2.

Можна використовувати аргументи для передачі параметрів сценарієм. У тілі сценарію допускається адресувати до дев'яти різних параметрів, від% 1 до% 9.

 

Немає істотних відмінностей між командним процесором Windows NT і сеансом роботи MS-DOS, доступним в Windows NT. Можна запустити командний процесор Windows NT, послідовно вибравши Пуск> Виконати, а потім ввести CMD в діалоговому вікні команди Виконати, Командна оболонка Windows NT представляє собою виконуваний файл CMD.EXE.

Сеанс роботи MS-DOS ініціюється послідовністю

 

Пуск → Програми → Command Prompt.

 

Сеанс роботи MS-DOS являє собою 16-розрядний додаток, яке функціонує під управлінням так званої віртуальної машини DOS (virtual DOS machine, відомої так само, як VDM).

Користувачі-початківці Windows NT з великим подивом виявляють, що, як тільки завершується виконання MS-DOS або Win-16-додатки показники для об'єкта processor швидко повертаються до нормальних значень. Ряд параметрів командної оболонки Windows NT передбачає можливість настройки. Для того щоб налаштувати зовнішній вигляд вікна командного рядка, клацніть правою кнопкою миші на логотипі MS-DOS у лівому верхньому кутку будь-якого відкритого вікна командного оболонки Windows NT. На вкладці Загальні (Options) можна налаштувати такі параметри, як число команд, що запам'ятовуються в списку command history. На вкладці Шрифт (Font) можна вибрати тип шрифту і розмір символів, що відображаються у вікні командного рядка. Розміри встановлюються на вкладці Розташування (Layout). І нарешті, можна вибрати кольори, використовувані при відображенні поверхні вікна командного рядка.

У режимі командного процесора Windows NT команда SET виконує функції. Перша функція команди SET полягає у відображенні значень змінних оточення операційної системи. Треба зауважити, що деякі програми мають власний набір змінних оточення. Набравши у вікні командного рядка команду SET без параметрів, можна отримати список всіх поточних змінних оточення і їх значень.

Другою функцією команди SET є безпосереднє завдання змінних оточення. З командного рядка або за допомогою пакетного файлу можна задати значення будь-якої змінної оточення. До змінних, значення яких найчастіше встановлюються користувачем або додатком, відносяться PATH і PROMPT. Крім того, операційна система і багато програм установки використовують змінну% systemroot% при визначенні шляху до файлів операційної системи.

Частина системних змінних оточення визначаються через Панель управління, частина в файлі AUTOEXEC.BAT. Операційна система Windows NT підтримує два різних типи змінних оточення: системні та обумовлені користувачем. В момент реєстрації користувача в системі першими завантажуються системні змінні оточення, потім ті, що визначені у файлі AUTOEXEC.BAT, і в останню чергу до них додаються змінні оточення, певні користувачем. Рядові користувачі не мають прав на зміну значень системних змінних оточення.

Крім того, існує кілька змінних оточення, які створюються і перевизначаються операційною системою динамічно. Ви можете переглянути значення цих змінних, використовуючи команду SET, але не можете змінити їх. Нижче наводиться список цих змінних.

 

- USERNAME

- WINDIR

- PROCESSOR.ARCHITECTURE

- НОМЕРАТН

- HOMESHARE

- USERDOMAIN

- OS

- PROCESSORJ.EVEL

- HOMEDRIVE

 

Команда START є складовою частиною підсистеми Win32, яка дає можливість запуску окремого додатка або процесу з одним із заздалегідь визначених рівнів пріоритету. В операційній системі Windows NT підсистема Win32 використовує чотири визначені класи пріоритетів для запуску додатків і процесів на різних рівнях пріоритету. Для запуску завдання із заданим пріоритетом слід використовувати команду START з одним з наступних ключів:

/ LOW (низький пріоритет);

/ NORMAL (середній, або нормальний пріоритет);

/ HIGH (високий пріоритет);

/ REALTIME (для запуску завдань в реальному часі).

 

Більшість сценаріїв розраховане на виконання у фоновому режимі без виводу будь-якої інформації. Тим не менше, існують сценарії, які передбачають різні варіанти взаємодії з користувачем або генерують призначені для користувача повідомлення. В командній оболонці Windows NT існує кілька команд, що дозволяють управляти введенням / висновком якщо у Вас є досвід написання пакетних командних файлів в середовищі MS-DOS багато з перерахованих нижче команд будуть вам знайомі.

Команда ECHO використовується в першу чергу для виведення на екран текстової інформації для користувача. Вона також може використовуватися для придушення надлишкового виведення на екран текстових рядків в ході виконання сценарію. Зазвичай перше використання команди ECHO відбувається в той момент виконання сценарію, коли вам необхідно довести до відома користувача якусь інформацію При складанні власних пакетних командних файлів не слід відступати від традицій. Створіть текстовий файл і збережіть його під ім'ям HELLOWORLD.BAT. В якості тексту наберіть рядок

 

ECHO Hello, World!

 

і збережіть файл.

При виконанні цього сценарію, що складається з одного рядка, ви побачите наступний екранний висновок:

 

С: \ ТЕМР> ЕСНО Hello, World!

Hello, World!

C: \ TEMP>

 

Відзначте, що виконання вашого короткого сценарію також згенерувало висновок на екран окремих команд в тому порядку, як вони передавалися на обробку командної оболонці. Щоб уникнути цього, вам слід використовувати іншу можливість команди. ECHO. Додавання всього одного рядка в командний файл викличе придушення відображення на екрані команд, оброблюваних командним процесором. Для цього використовується команда ECHO OFF. Аналогічним чином команда ECHO ON знову дозволяє вивід на екран. Відкоректуйте файл HELLOWORLD.BAT, додавши в початок сценарію рядок

 

ECHO OFF

 

після чого виконайте сценарій. Що змінилося? Якщо ви помістіть рядок ECHO OFF в початок файлу, підсумковий висновок на екран буде виглядати наступним чином:

 

С; \ ТЕМР> ЕСНО OFF

Hello, World!

С: \ ТЕМР>

 

Дивлячись на цей результат, ви можете помітити: «Стало не набагато легше! Тепер залишилося позбутися від виведення команди ECHO OFF. Для цього досить використовувати на початку рядка спеціальний префікс. Якщо рядок сценарію починає символом @, то висновок команди, наступної за символом, пригнічується. Тепер доповніть першу команду сценарію символом @ і перевірте результат. Текст вашого командного файлу має виглядати наступним чином:

 

© ECHO OFF

ECHO Hello, World!

 

Якщо все набрано правильно, при виконанні сценарію на екрані має з'явитися:

 

Hello, World!

С: \ ТЕМР>

 

Зауважте, що в рядках виведення відсутні власне команди сценарію. Використані команди не пригнічують екранний висновок, генерований додатками, вони пригнічують тільки виведення на екран повідомлень командної оболонки Win32.

 

Команда REM надає можливість тому хто пише сценарій коментувати його команди. Майстерність професійного програміста не обов'язково оцінюється по тому, наскільки компактний або, навпаки, розгорнутий конкретний зразок програмного коду. Насправді куди більш важливим критерієм оцінки є програмна документація.

Навряд чи хтось зацікавлений у прийомі на роботу програміста, коди якого зрозумілі виключно автору. Передбачається, що всі коди забезпечуються відповідними коментарями. Укладачі сценаріїв не є винятком. Якщо вам належить модифіковані наявний сценарій, ви, звичайно, захочете дізнатися, які функції виконує вихідний варіант. Якщо сьогодні ви пишете новий сценарій, то велика ймовірність, що через рік-півтора ви вже не згадаєте, які завдання при цьому вирішувались, якщо не буде належних коментарів.

Команда RЕМ дає можливість укладачам сценаріїв постачати їх коментарями. Нижче я привожу варіант її використання на прикладі знайомого файлу сценарію HELLOWORLD.BAT

 

@ЕСНО OFF

REM Hello World Script Version 1.0

REM written 3/29/99 by Alien Jones

ECHO Hello, World!

 

Зверніть увагу, що команда REM використовується для кожного рядка коментарів.

Командний рядок підходить в якості джерела вводу не для всіх команд і програм Windows NT. Windows NT, як і її попередниця DOS, здатна використовувати як джерело вводу іменовані канали - направлю потоку виводу однієї програми на введення іншої.

Визначити, коли для виводу використовується іменований канал, можна по присутності відповідного символу, в Windows NT цим символом є |.

Перенаправлення виводу відрізняється від використання іменованих каналів; канал направляє вихідні дані однієї програми на вхід іншої, а при переренаправленіі дані копіюються у файл або на який-небудь пристрій виводу, наприклад принтер. Нижче наведені символи, за допомогою яких в командній оболонці Windows NT позначається перенаправлення виводу. Крім них існує ще ряд інших позначень, але наведені нижче найбільш вживані.

 

Символ Використання
> Перенаправляє вивід команди у файл. Якщо вказаний файл існує, інформація в ньому перезаписується
> > Перенаправляє вивід команди у файл. Якщо вказаний файл існує, інформація дописується в кінець файлу
< Направляє дані з файлу на вхід зазначеної команді

У наступних розділах перераховані деякі команди, виконання яких залежить від даних, що надходять як введення після переадресації або за допомогою іменованих каналів. Для кожної з команд наводяться також приклади переспрямування вводу.

Команда MORE використовується для призупинення виведення великих обсягів даних щоб текст не прокручувався за межі видимої частини екрана. Передача вхідних даних команді MORE здійснюється в основному з використанням механізму іменованих каналів. Нижче слід приклад використання команди МОRE

 

TYPE MYFILE.TXT | MORE

 

Якби в даному прикладі була відсутня команда MORE, результатом виконання | команди TYPE став би висновок текстового файлу MYFILE.TXT на консольний пристрій, найчастіше на екран. Замість цього в даному випадку вивідний потік команди TYPE був переспрямований з використанням механізму іменованих каналів на вхід команди MORE. Оскільки подальших вказівок щодо вихідного потоку даних команди MORE немає, він буде направлений на консоль, пристрій виводу за замовчуванням. Результатом виконання команди для користувача буде повноекранний висновок даних із запитом реакції з боку користувача для переходу до наступного екрану.

Команда FIND переглядає кожен рядок вхідних даних на предмет присутності в них тексту, переданого команді як параметр. Якщо виявлено збіг, рядок, в якій міститься шуканий текст, передається в якості вихідних даних команди FIND. Наприклад, при перегляді каталогу команда FIND може бути використана, щоб результат перегляду включав тільки ті файли, в імені яких присутня поєднання символів ТМР. DIR | FIND " tmp"

Висновок в лапки контексту, за яким ведеться пошук, є вимогою синтаксису команди FIND. Результат виконання команди може бути переспрямований на вхід команди FIND з новим критерієм пошуку або будь-який інший команди, в іншому випадку він за замовчуванням виводиться на консоль виводу.

Використання команди FINDSTR зі складу Resource Kit.

В Resource Kit Windows NT присутня вельми корисна команда під назвою FINDSTR. Ця зручна утиліта призначена для контекстного пошуку у файлі. Більше десятка ключів дозволяють сформувати складні критерії для ефективного пошуку.

Один із прикладів пошуку з використанням команди FINDSTR - це пошук конкретного контексту в реєстрі. Якщо я не знаю точно, в якій гілці реєстру зберігається потрібний мені ключ або значення параметра, я можу вивести вміст реєстру в текстовому вигляді на пристрій виводу за замовчуванням, а саме на екран, використовуючи іншу команду зі складу Resource Kit - REGDMP- Потім я перенаправляю потік виведення цієї утиліти на вхід утиліти FINDSTR, використовуючи механізм іменованих каналів. За допомогою такого підходу я можу виконати глобальний пошук окремого ключа або значення реєстру, не використовуючи графічний інтерфейс. FINDSTR може бути використана аналогічним чином в поєднанні з іншими утилітами зі складу Resource Kit, наприклад DUMPEL, яка виводить в текстовий файл дані журналів реєстрації подій.

Якщо команди зі складу Resource Kit здаються вам недостатньо зручними, ви можете використовувати для організації пошуку комбінацію команд TYPE і FIND, однак це суттєво звузить можливість формування складних пошукових запитів.

Багато з тих команд командної оболонки Windows NT, які використовуються Для організації мережевої взаємодії, сягають корінням в програмні продукти Microsoft LAN Manager. Багато мережних характеристики налаштовуються з використанням багатофункціональної команди NET.

Команда NET USE використовується для підключення клієнта до розділюваного мережевого ресурсу або відключення від ресурсу. Якщо команда використовується без параметрів, результатом її роботи буде виведення списку поточних мережевих підключень. Нижче наводиться приклад використання команди NET з параметром USE:

 

NET USE [ім'я пристрою] [\\ ім'я комп'ютера \ ім'я ресурсу] [пароль]

[\ USER: [ім'я домену \ ім'я користувача]] [/ delete] [/ persistent: {YES | NO}]

тут:

 

[ім'я пристрою] - буква мережевого диска, використовувана для підключення;

[\\ ім'я комп'ютера \ ім'я ресурсу] ~ шлях до розділюваного мережевого ресурсу;

[пароль] - пароль для доступу до ресурсу при наявності захисту на рівні ресурсу;

[/ USER: [ім'я домену \ ім'я користувача]] - необов'язкові параметри аутентифікації користувача, використовувані для доступу до ресурсу;

[/ delete] - відключає користувача від зазначеного ресурсу, що розділяється;

[/ persistent: {YES | NO}] - вказує, чи потрібно підключатися до мережного ресурсу при наступній реєстрації користувача.

 

Приклад використання команди NET USE:

 

NET USE H: \\ SERVER1 \ MEMOS / USER: SALES \ MikeM

 

Команда NET TIME досить часто використовується в сценаріях реєстрації в Windows NT. Дана команда синхронізує час на клієнтської робочої станції зі значенням часу на контролері домену, здійснюючому аутентифікацію або зі значенням часу на так званому сервері синхронізації часу Нижче наведено два приклади використання цієї команди. Перший приклад демонструє, як синхронізувати час, використовуючи сервер часу, встановлений на комп'ютері під управлінням операційної системи Windows NT. Другий приклад показує процедуру синхронізації часу з контролером домену.

 

NET TAМЕ \\ COMPUTERNAME / SET

NET TAМЕ / DOMAIN: domainname / SET

 

Якщо ви оціните показання системних годин серверів вашої мережі, чи всі вони будуть мати правильне значення? Більш того, чи будуть всі вони показувати однаковий час? Швидше за все, ні. Щоб допомогти вам справитися з цією проблемою, компанія Microsoft включила до складу набору утиліт Windows NT Resource Kit повнофункціональний сервер синхронізації часу. Хоча розробники Microsoft не є авторами вихідного коду, це програмне забезпечення може бути встановлене на будь-який мережевий сервер або робочу станцію.

Зазначений сервіс періодично синхронізує системний час із зовнішнім джерелом точного часу. Багато організацій використовують один з комп'ютерів своєї інформаційної системи для періодичної синхронізації його системних годин із зовнішнім джерелом. Сервер часу, включений Microsoft до складу Resource Kit, дозволяє використовувати різні методи підключення.

Я найчастіше використовую метод, заснований на протоколі мережевого часу Network Time Protocol, або NTP. Вибравши який-небудь комп'ютер, я визначаю його як корпоративного сервера синхронізації часу. Всі сервери і робочі станції компанії можуть синхронізувати власне системний час із значенням часу корпоративного сервера синхронізації, але не мають права звертатися до зовнішніх джерел точного часу. Такий підхід забезпечує однакове значення системного часу на всіх комп'ютерах мережі.

Команда NET SHARE робить локальний ресурс робочої станції або сервера загальним Ви можете використовувати дану команду в файлах сценаріїв, щоб дати користувачам можливість створювати колективні ресурси без залучення системного адміністратора, як це показано в наступному прикладі:

 

NET SHARE D $ = D: \

 

Результатом виконання даної команди буде створення розділяється мережевого ресурсу з ім'ям D $. Під даним ім'ям в загальне користування буде пре доставлений локальний диск D: \. Щоб мати право створювати колективні ресурси, користувач повинен належати до групи адміністраторів або досвідчених користувачів (power users).

Одного разу один з клієнтів звернувся до мене з проханням допомогти розібратися, чому віднедавна перестала працювати процедура відновлення даних на одному з серверів. Чи не склало великих труднощів з'ясувати, що на сервері були відсутні колективні ресурси, створювані системою за замовчуванням і призначені для адміністративного використання, в результаті чого програма резервного копіювання не могла виконати мережеве підключення до сервера. Я відновив адміністративні колективні ресурси за допомогою Провідника Windows Explorer. Здавалося, що проблема вирішена. Кілька тижнів потому клієнт звернувся до мене з тією ж проблемою. Я знову скористався Провідником для відновлення адміністративних поділюваних ресурсів. В той момент я не міг зв'язати їх зникнення з чим-небудь певним. Після повторення тієї ж ситуації втретє стало очевидно, що щось не так. У системному реєстрі існує пара ключів, за допомогою яких контролюється створення адміністративних поділюваних ресурсів. За замовчуванням цей параметр активізований на серверах Windows NT і неактивний на робочих станціях Windows NT. В повній впевненості, що джерело проблеми знайдений, я перевірив значення відповідних ключів. Виявилося, що на даному конкретному сервері вони мали правильні значення, у відповідність, з якими адміністративні колективні ресурси повинні були створюватися за замовчуванням. До цього моменту я був уже в повній впевненості, що з сервером щось негаразд. Наступним рішенням було: необхідно проаналізувати системні журнали подій на предмет відстеження сеансів роботи користувачів на сервері. Мені вдалося досить швидко з'ясувати, реєстрація яких користувачів передувала модифікації відповідних ключів реєстру. Після кількох днів аналізу складений мною «чорний список» звузився до однієї людини. Після деяких розвідувальних заходів мені вдалося з'ясувати, що обліковий запис даного користувача була об'єктом системної політики. Одне з правил системної політики наказувало ліквідувати ті самі мережеві системні ресурси, доступ до яких запитувала програма резервного копіювання. Я висунув пропозицію модифікувати правило системної політики для даного користувача, але, на жаль, компанія не захотіла змінювати прийнятий стандарт системної політики. Тим не менш, я попередив користувача, щоб для уникнення повторення проблеми, він не використовував даний сервер в якості робочої станції для реєстрації в мережі.

Команда NET VIEW дає можливість переглянути всі загальні ресурси в сеті оточенні Windows NT. Так, наприклад, ви можете переглянути список серверів і робочих станцій вашого домену, набравши наступну команду:

NET VIEW

Ще одним важливим елементом при написанні сценаріїв є можливість керувати виконанням сценарію. Звичайно, було б здорово, якби один і самий сценарій підходив для всіх користувачів, але на практиці так не буває реальної ситуації зазвичай присутня якась загальна для всіх користувачів частина сценарію і кілька наборів команд, що відрізняються для різних груп користувачів. Приклад сценарію реєстрації, сформованого за таким принципом, наведено нижче.

 

@ ЕСНО OFF

REM -------------------------------------------------

REM Компанія планування інтернету

REM Сценарій реєстрації користувачів, версія 6.2

REM Дата модифікації: 8/25/99

REM -------------------------------------------------

 

REM Розділ, загальний для всіх користувачів

... (Набір команд, загальний для всіх користувачів)

REM -------------------------------------------------

REM Розділ, відповідний конкретній групі,., (Набір команд, специфічний для даної групи)

REM -------------------------------------------------

REM Розділ, відповідний конкретній групі

REM Кінець сценарію

 

Щоб створювати сценарії в такому стилі, керувати їх виконанням за допомогою переходу між окремими розділами сценарію, вам буде потрібно ряд додаткових команд.

Використання міток дозволить вам робити посилання на конкретну область сценарію. Ознакою мітки служить двокрапка на початку рядка і кілька символів, що представляють собою ім'я мітки. В імені мітки може бути використаний той же набір символів, що і в іменах файлів, за винятком пробілу. Розумним підходом буде використання коротких імен для міток. Нижче слід приклад використання мітки.

 

REM Компанія планування інтернету

REM Сценарій реєстрації користувачів, версія 6.2

REM Дата модифікації: 8/25/99

REM -------------------------------------------------

REM Розділ, загальний для всіх користувачів

...

(Набір команд, загальний для всіх користувачів)

Common

REM -------------------------------------------------

 

Якщо по логіці програми мені необхідно виконати перехід до даної секції, я можу використовувати для цього мітку: Common.

 

ПРИМІТКА. При виборі імен міток в ході написання сценаріїв слід мати на увазі, що існує одне зарезервоване ім'я -: EOF. Дана мітка використовується для останньої команди в кожному сценарії і надає зручний спосіб швидкого виходу з сценарію.

У роки навчання мені завжди твердили, що використання команди GOTO є ознакою поганого тону. Що ж, тепер цього не говорять. При написанні сценаріїв, швидше за все, не обійтися без цієї команди.

За допомогою команди GOTO ви можете перейти на будь-яку мітку і продовжити виконання програми з нового місця.

 

REM -------------------------------------------------

REM Розділ, відповідний конкретній групі

... (Набір команд, специфічний для даної групи)

REM Наступна команда здійснює перехід на мітку: EOF

GOTO: EOF

: EOF

 

Використання команди CALL в сценарії аналогічно використанню в програмах. Зухвала програма тимчасово передає управління підпрограмі. Правила передачі параметрів такі ж, як при передачі змінних в сценарії. За допомогою команди RET можна організувати повернення деяких значень в якості аргументів. Викликаються підпрограми можуть міститися прямо в тілі сценарію, як показано в наступному прикладі.

 

@ ЕСНО OFF

REM -------------------------------------------------

REM Компанія планування Інтернету

REM Сценарій реєстрації користувачів, версія 6.2

REM Дата модифікації: 8/25/99 REM

REM Виклик зовнішнього сценарію

CALLC: \ WINNT \ SYSTEM32 \ Scripts \ CheckInput.CMD

 

Альтернативний підхід - включити підпрограму в текст основного сценарію, використовуючи мітки.

 

@ ЕСНО OFF

REM -------------------------------------------------

REM Компанія планування Інтернету

REM Сценарій реєстрації користувачів, версія 6.2

REM Дата модифікації: 8/25/99

REM -------------------------------------------------

REM Перехід на мітку

CALL: CheckInput

 

У першому варіанті викликається зовнішній сценарій, файл з текстом ЯКОГО зберігається на локальному жорсткому диску. У другому випадку виклик процедури здійснюється переходом на мітку з іменем: CheckInput.

Особливість роботи команди IF полягає в тому, що вона організовує перевірку певної умови і виконує подальші дії в залежності від результату. Команда IF використовується для перевірки умов і передачі управління в іншу частину сценарію. Існує кілька варіантів використання команди IF, нижче наводяться найбільш поширені приклади.

Приклад 1 Перевірка умови.

IF% PROCESSORJ-EVEL% == 6 ECHO У вас встановлений процесор Pentium II!

 

Приклад 2 Перевірка існування файлу.

IF EXIST C: \ WINNT \ SYSTEM32 \ DRIVERS \ ETC \ LMHOSTS ECHO на даному комп'ютері присутній файл LMHosts!

 

Приклад 3 Перевірка приналежності користувача до групи (для використання утиліти IFMEMBER необхідна наявність Windows NT Resource Kit).

IFMEMBER Administrators IF ERRORLEVEL 1 ECHO Ви є адміністратором даного комп'ютера!

Команда PAUSE тимчасово призупиняє виконання сценарію, для продовження користувачеві необхідно натиснути на клавіатурі будь-яку клавішу. Команда використовується у випадках, коли для продовження виконання сценарію потрібно організувати введення даних користувачем.

 

@ ЕСНО OFF

REM ------------------------------------------------- -------------

REM Компанія планування інтернету

REM Сценарій реєстрації користувачів, версія 6.2

REM Дата модифікації: 8/25/99

REM ------------------------------------------------- --------------

ECHO Для початку форматування диска d: \ натисніть будь-яку клавішу.

PAUSE

FORMAT D:

У Windows NT є вбудована можливість виконання завдань за розкладом. Для цього можуть бути використані дві утиліти, одна з яких реалізована у вигляді команди AT, інша має графічний інтерфейс. Щоб настройка завдань за розкладом стала можливою, на комп'ютері повинна бути налаштована і запущена Служба розкладу. Найшвидше запустити графічну утиліту можна, набравши в командному рядку WinAT. На мій погляд, графічна версія злегка простіше у використанні, проте, якщо ви хочете швидко з'ясувати, запуск яких завдань на даному комп'ютері встановлений за розкладом, просто наберіть в командному рядку команду AT без параметрів.

В даному прикладі вказаний клієнт буде виконувати завдання з синхронізації системного часу з мережевим сервером кожен робочий день в 13: 26.

У даній главі я згадав про деякі чудових утілітах зі складу Resource Kit, і проте це далеко не повний перелік. Оскільки провести навіть короткий огляд всіх утиліт Resource Kit в рамках даного викладу?! неможливо, в наступному розділі я пропоную вашій увазі невелику! добірку тих, які вважаю найбільш корисними. Це не означає, що решта утиліти не заслуговують на увагу.

Команда SLEEP призупиняє виконання програми або сценарію на кілька секунд Кількість секунд вказується при виклику команди як параметр, в наступному прикладі виконання програми буде призупинено на три секунди. SLEEP 3

Використання команди виправдане в тому випадку, якщо при виконанні сценарію вам необхідно вивести на екран будь-яку інформацію для користувача, але при цьому продовження виконання сценарію не вимагає користувача введення.

Команда CHOICE реалізує розгалуження виконання сценарію відповідно до результатів перевірки декількох умов, а не єдиного, як це передбачено, наприклад, командою IF. Природно, для перевірки декількох умов ви можете використовувати вкладені команди IF, однак команда CHOICE є більш простим рішенням.

Код виконання команди CHOICE заноситься в змінну оточення% ERRORLEVEL%, яка може використовуватися в якості умови команди IF.

Наступний приклад ілюструє використання команди CHOICE.

 

@ ЕСНО OFF

ECHO Якщо вас цікавить робота днем, виберіть «D».

ECHO Якщо вас цікавить робота в ніч, виберіть «N».

CHOICE / c: DN

IF errorlevet 2 GOTO: STEP2

IF errorlevel 1 GOTO: STEP1

ECHO Неправильний введення!

GOTO: EOF

: STEP1

ECHO В день!

GOTO: EOF

: STEP2

ECHO В ніч!

GOTO: EOF

: EOF

 

В даному прикладі команда CHOICE ставить користувача перед необхідністю вибрати один з двох запропонованих варіантів: D або N. До тих пір поки користувач не натисне одну з цих двох клавіш, виконання командного файлу продовжено не буде. Значення змінної оточення errorlevel відображає вибір, зроблений користувачем. За допомогою команди IF оцінюється значення цієї змінної і залежно від вибору, зробленого користувачем, управління передається на відповідну мітку.

Команда SCOPY - остання з числа утиліт Resource Kit, про які я планую вам расказать. Вона не часто використовується при написанні сценаріїв, проте дана команда настільки корисна, що згадка про неї має бути обов'язково присутня в будь-якому викладі, яке стосується переваг Resource Kit.

Якщо ваша інформаційна система функціонує досить довго, рано чи пізно перед вами постане завдання копіювання файлів з ​ ​ одного сервера на інший. До появи Resource Kit дана операція передбачала обов’зкове попереднє документування інформації про поділюваних мережевих ресурсах та списків прав доступу для кожного користувача, кожного каталогу і кожного файлу. Ця невдячна робота забирала масу часу, і її результат не містив ніякої корисної інформації.

Команда SCOPY дозволяє вам скопіювати файли з одного сервера на інший із збереженням списків доступу. Ця утиліта виключно корисна при перенесенні з одного диска або сервера на інший, наприклад, файлів у складі особистих каталогів користувачів. При звичайному копіюванні файлу на нове місце для нього будуть поширені дозволу на доступ, встановлені для цільового каталогу копіювання. При копіюванні файлу на нове місце за допомогою команди SCOPY для нього будуть збережені вихідні права доступу. Правила використання команди SCOPY наведені нижче.

SCOPY джерело приймач [/ о] [/ a] [/ s]

ПОРАДА. Якщо планується відмовитися від використання конкретного комп'ютера в мережі і необхідно перенести велике число файлів на нову машину, скористайтеся утилітою SCOPY. Це позбавить вас від багатогодинної процедури призначення прав доступу.

Існує ряд ключів, використовуючи які спільно з командою SCOPY ви можете скопіювати деякі інші параметри файлової системи NTFS. Ключ / о копіює інформацію про власника об'єкта. Ключ / а копіює інформацію про параметри аудиту для даного об'єкта, ключ / s копіює підкаталоги. Використовуючи комбінацію цих ключів, ви можете скопіювати структуру каталогів диска цілком, включаючи списки доступу до каталогів і файлів, інформацію про власників і параметри аудита.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.