Отже, консоль командного рядка присутня у всіх версіях операційних систем Windows. Ранні версії ОС підтримували режим MS-DOS безпосередньо, що дозволяло виконувати прості команди прямо з консолі. Представники ж сімейства NT, такі як Windows 2000 або Windows Server 2003, працюють вже зовсім за іншими принципами, однак MS-DOS у них теж підтримується, але через віртуальну машину (NT Virtual DOS Machine, NTVDM), що дозволяє контролювати і адмініструвати системні ресурси безпосередньо з консолі командного режиму. В якості інтерпретатора командного режиму виступає програма cmd.exe, запуск якої здійснюється через меню «Start -> Run». Крім того, для запуску консолі можна скористатися елементом меню «Start -> All Programs -> Accessories -> Command Prompt».

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

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

Сам адміністратор може виконувати як поодинокі команди, так і список команд, використовуючи спеціальні керуючі символи (&, |). Наприклад:

Команда 1 & Команда 2 спочатку буде виконана
Команда 1 і тільки потім Команда 2;
Команда 1 && Команда 2 тільки після успішного
виконання Команди 1 буде запущена Команда 2.
Існує можливість перенаправити виводиться програмою потік безпосередньо в текстовий файл для подальшої обробки. Для цього необхідно використовувати керуючий символ «>» ім’я текстового файлу. Приклад виведення вмісту поточного каталогу в текстовий файл Report.txt за допомогою команди dir наведено нижче:

dir> Report.txt
Адміністратор може запустити декілька копій консолі, викликавши в командному рядку програму cmd.exe. Використання вкладеної консолі дозволяє працювати зі змінними оточення операційної системи без будь-яких наслідків для всієї системи в цілому, так як після закриття вкладеної консолі зміни змінних оточення не зберігаються. Для контролю над цим процесом використовуються команди setlocal, endlocal і set.

В сучасних операційних системах існує безліч команд і утиліт. Запам’ятати таку кількість різних програм, а тим більше їх параметрів
дуже складно, тому одним з найбільш важливих параметрів для кожної програми є поєднання символів?.. Виконавши команду з таким параметром, користувач отримає вичерпне повідомлення про застосування утиліти і синтаксисі її параметрів.

Зверніть увагу, що на малюнку в лівому верхньому кутку наступної сторінки використано складний синтаксис. Так, відразу після команди shutdown /? після спеціального роздільником «|» йде команда more, що дозволяє виводити інформацію на екран не цілком, а певними порціями, зручними для подальшого читання.

Для того щоб закрити консоль командного рядка, необхідно виконати команду exit.

Хто тут головний?
По своїм можливостям консольні програми поділяються на:

команди управління операційною системою це такі команди, як shutdown або taskkill;
мережні команди net і ipconfig;
команди для моніторингу системи tasklist і systeminfo;
команди для підтримки файлової системи dir, mkdir, copy;
команди для обслуговування жорстких дисків defrag і diskpart;
команди для підтримки служби каталогів (Active Directories) addrep і dsadd;
допоміжні команди, в цей розділ входять різні утиліти для створення сценаріїв, налаштування принтерів, роботи зі змінними оточення і т. д.
Розглянемо типових представників кожної групи і дозволимо собі дати деякі рекомендації з використання включених у них команд.

Команди моніторингу і діагностики

Для виявлення проблем в апаратній частині і проблем з програмним забезпеченням призначені команди моніторингу, такі як systeminfo і tasklist. Ці утиліти вперше з’явилися тільки в операційному середовищі Windows Server 2003, тому адміністратори ще не повною мірою оцінили функціональні можливості цих команд. Так, наприклад, тепер не треба залазити в закладку «Свойства» іконки «Мій комп’ютер» команда systeminfo надрукує на екрані консолі основну інформацію про всіх компонентах системи з повною розшифровкою. Параметр /s виведе інформацію про будь-якому віддаленому комп’ютері. Наприклад, для з’ясування конфігурації комп’ютера TESTSERVER необхідно виконати наступну команду:

systeminfo /s TESTSERVER
А утиліта tasklist покаже процеси, запущені на вашому комп’ютері.

Утиліта tasklist дозволяє опитувати системи, сполучені в мережу. Параметр /v дає можливість одержувати докладні оголошень з корисною інформацією, в тому числі і про імена користувачів, а параметр /т показує процеси, що завантажили конкретний dll-файл. Інша корисна утиліта openfiles дозволяє отримати інформацію про всіх відкритих файлів локальної та віддаленої операційної системи. В колишніх версіях операційних систем Windows доводилося використовувати команду oh.exe у сучасних версіях достатньо виконати в командному рядку консолі команду, яка встановлює режим моніторингу для всіх відкритих файлів системи:

openfiles /local on
Користувач отримає інформацію про всіх відкритих файлах системи, використовуючи команду з простим синтаксисом:

openfiles
Команда openfiles з параметрами /query /v показує, які користувачі запустили процеси, що відкрили файли. З допомогою інших параметрів-ключів можна задати різний режим виводу інформації.

Команди управління операційною системою

Windows Server 2003 надає адміністраторам нові команди, які допомагають не тільки діагностувати систему, але і керувати нею. До таких команд можна віднести утиліту shutdown. В якості параметрів-ключів цієї утиліти можна використовувати наступні:

/s повне штатний відключення системи;
/р перезавантаження;
/р вимикання живлення;
/f завершення роботи активних додатків;
/д перехід в режим зниженого енергоспоживання;
/I завершення сеансу без відключення комп’ютера.
У вигляді засоби, що реєструє всі штатні вимикання комп’ютера, виступає обробник подій штатних виключень (Shutdown Event Tracker), який збирає і діагностує всі відключення, виконані адміністратором. Також передбачена можливість вимикати систему із зазначенням причини, для цього необхідно використовувати ключ /d.

Команда taskkill, аналог команди kill в операційних системах сімейства *nix, дозволяє «вбити» зависле додаток. Спільно з командою tasklist ці утиліти представляють собою потужний засіб для оперативного втручання в хід виконання програм, що представляють потенційну загрозу для продуктивності сервера. З параметрів цієї команди необхідно відзначити ключ/pid, який дозволяє завершувати процес у його унікальному ідентифікатору, і ключ /im для завершення програми з вказаним ім’ям. Наступний приклад дозволяє завершити процеси з ідентифікаторами 1000 і 1240:

taskkill /pid 1000 /pid 1240
Команди для обслуговування жорстких дисків

Оптимізацію жорсткого диска дозволяє виконати команда defrag. Утиліта вміє дефрагментувати диски з файловою системою FAT, FAT32 і NTFS. Defrag однаково добре працює як з динамічним типом диска, так і з базовим. Синтаксис виклику цієї команди наступний:

defrag диск [ -a j [ -f ] [ -v ] [ -? ]
Параметр -а передбачає тільки аналіз інформації на диску, параметр -f оптимізацію інформації, в тому числі і при відсутності необхідного дискового простору для створення тимчасових файлів, а параметр -v висновок звіту про хід оптимізації. Не забудьте, що для успішної дефрагментації диска повинен містити як мінімум 15% вільного місця.

Команда fdisk вже не підтримується ядром операційної системи Windows Server 2003. На зміну їй прийшла команда diskpart, також призначена для обслуговування жорстких дисків. Розбити диск на розділи, створити логічні диски, видалити їх ось лише деякі завдання, що вирішуються цією утилітою. В основному команда diskpart орієнтована на роботу з спеціальними файлами-сценаріями, в яких описані процедури обслуговування жорстких дисків. Ось як виглядає виклик цієї команди для файлу-сценарію Scriptl.txt:

diskpart /s Scriptl.txt
Кожен рядок такого файлу є інструкцією для якої-небудь операції. Так, наприклад, дає команду для створення нового розділу з певним розміром рядок

create logical partition size=2048
Мережні команди

Серед мережевих команд хотілося б виділити дві утиліти. Це перша команда ipconfig, друга netstat. Системні адміністратори використовують ці команди не лише для моніторингу мережі, але і для захисту від небезпечних програм, пытающих встановити контроль над системою.

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

Якщо ви помітили, що з вашим комп’ютером діється щось недобре, то в цьому випадку допоможе команда netstat, яка не тільки вкаже на відкриті мережеві порти, за якими зловмисники могли приєднатися до вашої системи, але і ідентифікує процеси, запущені на сервері без вашого відома. Так, ключ /про виводить інформацію про ідентифікатор процесу (PID), що використовує те або інше з’єднання. Існує можливість подивитися, які комп’ютери в мережі взаємодіють з локальною операційною системою.

Команди для підтримки служби каталогів

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

Для моніторингу такої складної структури в операційній системі передбачена команда dsquery, яка призначена для розширеного пошуку компонентів служби каталогів. Також цією командою можна користуватися для виведення інформації про властивості обраних компонентів (ключ -attr). Параметри -scope, -subtree, -onelevel, -base визначають рівень вкладеності пошуку, а ключ -filter дозволяє задіяти фільтр пошуку.

Команда dsmod може допомогти в разі потреби модифікації однієї або декількох облікових записів для вибраного компонента служби каталогів. Наприклад, можна видалити користувача з групи або призначити йому новий пароль. Приклад зміни облікового запису користувача TestUser наведено нижче:

dsmod user
«CN=TestUser,CN=Users,DC=bigtex,DC=net
» -pwd [email protected] -mustchpwd yes
Команда dsmove переміщує об’єкт у межах поточного домену. За допомогою ключів -newname і -newparent можна ставити нове ім’я об’єкта і міняти його місце розташування.

Команди для підтримки файлової системи

Опис деяких часто употребляющихся команд для роботи з файлами і директоріями представлено в таблиці. Команду deltree, яка виконувала каскадне видалення папок і файлів в них, замінює тепер rmdir з ключем /s.

Команда
Опис

copy
копіює файли

del
видаляє один або більше файлів

dir
виводить список файлів та піддиректорій в обраному каталозі

find
шукає задану підрядок в файлах

move
переміщує файли

mkdir
створює каталоги

rmdir
перейменовує і видаляє каталоги

tree
виводить ієрархічне дерево всіх файлів та піддиректорій в обраному каталозі

Маленькі секрети великої системи
Зміна запрошення командного рядка

Знайдіть в реєстрі ключ: [HKEY_LOCAL_MACHINESYSTEM CurrentControlSet ControfSession ManagerEnvironment] Створіть у цьому ключі рядковий параметр PROMPT» з типом (REG_EXPAND_SZ) і назвіть одне з наступних значень:

$У вертикальна риса «I»;
$D поточна дата;
$G знак більше «>»;
$1_ знак менше « Command”. Параметру Default ключа Command присвойте значення «cmd.exe /k cd “%1″».

Параметру Default ключа Command Prompt присвойте значення «Open Command Prompt”.

Клацнувши правою кнопкою миші на будь-якій папці в Провіднику, можна вибрати команду Open Command Prompt, яка запустить консоль з командним рядком потрібної директорії.

Висновок
Ну, ось і все. Ми розповіли про основи роботи з консоллю. Далі надаємо вам можливість самим досліджувати функціональність і різноманіття консольних команд. Тільки не забувайте заповітний ключ /?, а решта прийде з часом і досвідом.