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

💖 Подобається?Поділися з друзями посиланням

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

C:\PROGRAM FILES\BORLAND \INTERBASE\BIN

Викликати таку утиліту можна за допомогою вікна CMD (для WinNT, 2000, XP або вище) або COMMAND (для Win95/98/ME). Так, щоб дізнатися про версію сервера, натисніть "Пуск -> Виконати", а у вікні введіть cmd або command, залежно від вашої ОС. До речі, WinXP теж є команда command, проте вона працює в режимі MS-DOS і не підтримує довгих імен файлів і папок. Тому в XP (або вище) потрібно використовувати cmd.

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

cd program files\borland\interbase\bin gpre -z

Відразу обмовимося, що текст у вікні доведеться набирати вручну. Якщо скопіювати текст, а потім вибрати в СМЕ контекстну команду "вставити", немає гарантії, що всі символи скопіюються правильно. У цьому випадку під час виконання команд ви отримаєте помилку. Зате в СМЕ є можливість повторити останню команду, не набираючи її. Достатньо натиснути і утримувати клавішу "стрілка вправо", щоб заново ввести текст останньої команди. Це може бути корисним, коли доводиться поспіль набирати схожі команди: можна повторити, а потім відредагувати текст попередньої команди.

В результаті виконання прикладу ви отримаєте наступне вікно:

Мал. 25.1. Утиліта командного рядка gpre.exe

Для тих, хто вперше використав подібні команди, розберемо їх докладніше. Команда

робить поточним диск C: (у випадку, якщо раніше був поточним інший диск).

Команда cd (Change Directories) змінює поточний каталог на вказаний, тобто командою

cd c:\program files\borland\interbase\bin ми переходимо до папки BIN сервера InterBase. Якщо InterBase встановлено за іншою адресою, у цій команді слід зробити зміни. Наприкінці ми даємо команду

gpre -z, яка викликає утиліту gpre.exe з параметром -z. Ця утиліта є препроцесором мов C/C++ і призначена для розробників, які безпосередньо працюють з InterBase API. Не найуживаніша утиліта, але тут для нас цікавий параметр -z, який виводить інформацію про версію InterBase і саму утиліти (цей же параметр є і в інших утиліт, з якими нам належить познайомитися).

Як бачите, розширення *.exe під час завантаження утиліти можна не вказувати, а регістр букв не має значення. Закрити це вікно можна командою exit. Надалі для стислості викладу передбачається, що поточної папкою у цьому вікні є папка BIN сервера InterBase, де зберігаються решта утиліти.

І знову про головне - давай поговоримо про добре знайоме тобі cmd.exe. Навіть у новомодній «вісімці» консоль нікуди не поділася, і виконує всі звичні для тебе завдання і навіть приховує кілька сюрпризів.

1. Команда ipconfig

Найбільш відома і тому найменш цікава у нашому огляді. Ця команда знайома всім «командним» адміністраторам та більшості користувачів: коли виникають проблеми з інтернетом, співробітники техпідтримки просять користувача запровадити саме її.

Команда дозволяє переглядати TCP/IP-інформацію та працювати з нею. Можна використовувати її для перевірки IP-адреси комп'ютера, звільнення або оновлення оренди призначеної IP-адресита навіть для знищення локального DNS-кешу.

Якщо просто ввести ipconfig у командному рядку, команда відобразить інформацію про IP-адреси всіх мережевих адаптерів. Для кожного адаптера виводиться його опис, наприклад "Ethernet-адаптер" або "Адаптер бездротової" локальної мережі», щоб було зрозуміло, конфігурація якого саме показано. Звичайний набір інформації містить IP-адресу, маску підмережі, основний шлюз та ще пару полів не дуже корисних відомостей. Якщо потрібно отримати більше даних, потрібно використати /all. При цьому команда виведе набагато більше інформації, а найкорисніше у розширеному висновку – це поле «Фізична адреса», тобто MAC-адреса адаптера.

Крім параметра /all команди ipconfig, заслуговують на пильну увагу параметри /release, /renew і /flushdns. Перший дозволяє звільнити IP-адресу, призначену за протоколом DHCP. Щоправда, після цього мережа відмовиться працювати, оскільки мережевий інтерфейсвиявиться неконфігурованим, тому стане в нагоді другий параметр - /renew, який дозволяє оновити всю інформацію, що призначається за DHCP. Цей параметр дуже корисний, оскільки змушує твій комп'ютер перепідключити до маршрутизатора або до серверів провайдера. Буває так, що при завантаженні комп не бачить бездротову мережу(Таку проблему я періодично спостерігаю на своєму домашньому комп'ютері під керуванням Windows 7). Замість перезавантаження комп'ютера простіше ввести ipconfig / renew, і мережа з'явиться. Третій параметр дає змогу знищити весь локальний DNS-кеш. Іноді знищення DNS-кешу дозволяє вирішити деякі проблеми встановлення з'єднання, наприклад, коли DNS-інформацію на сервері вже оновлено, але стара ще залишилася в локальному кеші.

2. Команда sfc

Команда sfc (system file checker) дозволяє перевірити системну файлову систему. Не варто плутати цю команду з chkdsk (check disk). За допомогою останньої можна виправити файлову систему на нижчому рівні та навіть позначити bad-сектори. А ось команда sfc стане в нагоді, якщо раптом якийсь системний файл Windowsпошкоджено. Вона може виявити це і замінити битий файл без будь-якого втручання з боку користувача. Дуже й дуже корисна команда. Вона порівнює тисячі базових Windows-файлів з оригінальними версіями, які поставлялися з Windows, і при необхідності замінює пошкоджені або відсутні файли з допомогою Windows Update. Залежно від того, як інстальовано Windows, може знадобитися, а може й не знадобитися інсталяційний носій. Зазвичай він не потрібний.

Можна виділити такі корисні параметри sfc:

  • /scannow - здійснює негайну перевірку системи та за потреби замінює файли. Після виконання sfc потрібно перезавантажити Windows, якщо було знайдено проблеми.
  • /scanonce - перевірка буде здійснена при наступному перезапуску системи.
  • /scanboot - перевірка буде йти під час кожного перезапуску системи. Скасувати дозволяє параметр Revert: після того, як поекспериментував із параметром /scanboot, потрібно виконати команду sfc Revert, інакше перевірка буде здійснюватись при кожному перезапуску.


3. Команда chkdsk

Команда chkdsk (Check Disk) дозволяє полагодити помилки файлової системи, виявити bad-сектори, відновити інформацію з bad-секторів. Windows перевіряє диски автоматично, проте chkdsk можна запустити і вручну, якщо є підозри, що з диском щось не так.

В якості параметрів команді потрібно передати ім'я тома або ім'я файлу (якщо потрібно перевірити один файл чи групу файлів, у разі потрібно передати маску файла). Параметр /F автоматично виправляє помилки, параметр /R дозволяє виявити bad-сектори та відновити інформацію з них. Якщо chkdsk не може отримати винятковий доступ до диска, тоді перевірка диска буде здійснена при наступному завантаженні системи. Це звичайне явище під час спроби перевірити диск C:. Приклад: chkdsk D:/R.



4. Команда driverquery

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

Найкорисніші параметри цієї команди - /s, /si та /fo. Перший параметр дозволяє вказати ім'я або IP-адресу віддаленого вузла, драйвери якого слід дослідити. Другий параметр показує цифровий підписдрайверів. Третій дозволяє вказати формат звіту: /fo TABLE - таблиця (за замовчуванням), /fo LIST - список, /fo CSV - CSV-формат, який буде зручно переглядати в Excel або подібній програмі. Приклад:

/fo CSV > drivers.csv

5. Команда cipher

Ця команда використовується для роботи із зашифрованими папками та файлами на NTFS-томах. Зазвичай з такими папками та файлами працюють через графічний інтерфейс(що значно зручніше), але у команди cipher є дуже корисний параметр/W:

Cipher /W:шлях

Параметр /W (наприклад, /W:C:) видаляє дані на невикористовувані частини тома і ефективно стирає дані на жорсткому диску після їх видалення. Іншими словами, цю команду можна використовувати для фізичного видалення даних із диска - так, щоб їх не можна було відновити спеціальними утилітами. Потрібно відзначити, що застосовується вона тільки до звичайних жорстких дисків, але не до дисків SSD. Вважається, що з SSD файли видаляються негайно без можливості відновлення. Хоча зацікавленим читачам я б порекомендував прочитати ось це.

6. Команда powercfg

Команда powercfg керує параметрами електроживлення. У неї дуже багато параметрів, і якщо дійсно потрібно керувати електроживленням з мережі, краще скористатися параметром /? для отримання довідки про всіх. Але більшості користувачів будуть цікаві параметри /a та /batteryreport. Перша команда виводить список драйверів, які не дозволяють системі заснути, а друга виводить звіт про використання батареї.

7. Команда shutdown

У UNIX для завершення роботи системи (вимикання, перезавантаження) використовується команда shutdown. Мало хто знає, але однойменна команда є і Windows. Тепер фанати UNIX можуть завершувати роботу системи командою shutdown -s та перезавантажувати систему командою shutdown -r. Також доступний параметр -t, що дозволяє встановити таймер завершення роботи (у секундах), наприклад, у наступному прикладі система буде перезавантажена через одну хвилину: shutdown -r -t 60. Параметр -f забезпечує примусове завершенняроботи із закриттям усіх запущених додатків.

8. Команда sc

Команда sc взаємодіє з контролером служб та встановленими службами. У UNIX/Linux можна керувати службами (сервісами, демонами) з командного рядка (в принципі, не знаю такої речі, яку не можна було б виконати з командного рядка в UNIX). За допомогою утиліти sc можна керувати службами з командного рядка Windows. Можна запускати та зупиняти служби, змінювати тип запуску служби тощо.

Так, для запуску та зупинки служби використовуються відповідно параметри start і stop:

Sc start<имя службы>sc stop<имя службы>

Назріває питання: як дізнатись ім'я служби? Дуже просто – для цього потрібно використовувати параметр query, в результаті буде відображено детальний перелік усіх служб:

Sc query

Так як список дуже великий, для його перегляду можна перенаправити виведення команди або в команду more (для пагінації), або буфер обміну (команда clip), або файл:

Sc Query | more sc query | clip sc query > services.txt

Додаткову інформацію про цю команду можна знайти на урізанні.

9. Команда recover

Використовується для відновлення інформації зі зіпсованого чи дефектного диска. Припустимо, що у нас є каталог d:\reports\2014 і в ньому був файл jan.txt, але на диску з'явилися bad-сектори, і прочитати файл jan.txt не виходить. Для відновлення (часткової) інформації з цього файлу можна використати команду

Команда recover читає файл сектор за сектором та відновлює інформацію, яку ще можна прочитати. Зрозуміло, що програма не зможе взяти інформацію з пошкоджених секторівтому відновлення інформації буде частковим. Дані із пошкоджених секторів будуть втрачені. Також потрібно пам'ятати, що використання масок файлів на зразок * і? у цій команді не допускається, потрібно вказати ім'я файлу.

10. Команда tree

Комусь команда tree здасться марною, проте вона стане в нагоді розробникам програмного забезпеченнята технічним письменникам. Команда tree відображає структуру каталогів зазначеним шляхом. Наприклад, у нас є проект c:\my_prj\project1. Потрібно збудувати структуру підкаталогів цього каталогу. Для цього можна використовувати такі команди:

Tree c:\my_prj\project1 | clip tree c:\my_prj\project1 > project1.txt

Перша команда копіює структуру каталогів буфер обміну, а друга поміщає у файл з ім'ям project1.txt.



PowerShell

У 2012 році "Хакер" публікував статтю "Апгрейди для cmd.exe та альтернативи", в якій обговорювалися можливі заміни для cmd.exe. Нагадаю, що у статті розглядалися console, clink, cygwin, mintty, PowerCmd. Всі вони дозволяють зробити роботу в командному рядку ефективнішою. У Microsoft теж розуміли, що стандартний cmd.exe вже безнадійно застарів, і замість того, щоб піддати його апгрейду, Microsoft працювали над PowerShell. PowerShell - засіб автоматизації від Microsoft, що розширюється, що складається з оболонки з інтерфейсом командного рядка і супутньої мови сценаріїв. Майбутнє командного рядка Windows за PowerShell, тому, якщо ти ще не знайомий з ним, саме час розпочати знайомство. Про PowerShell ми писали у лютневому номері.

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

Про те, як працювати у командному рядку

Найчастіше використовуваної утилітою командного рядка є сам командний інтерпретатор - cmd.exe. Саме його ми запускаємо, коли нам потрібно попрацювати із командним рядком. Інтерпретатор cmd прийшов на заміну command.com зі світу DOS та Windows 9x. Зрозуміло, що у вікні командного інтерпретатора необхідно вводити команди. Команди виконуються. Якщо ти поспішаєш, і тобі не хочеться чекати завершення першої команди, тоді можна ввести відразу кілька команд, розділивши їх амперсандом:

  • команда1 & команда2 & ... & командаN

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

  • команда1 && команда2

Друга команда буде виконана, якщо код завершення першої команди дорівнює 0 (успішне завершення). Чи не встиг прочитати висновок програми? Тоді висновок можна передати програмі more для посторінкового виведення (гортати висновок потрібно пробілом):

  • команда | more

Символ " | " використовується для перенаправлення стандартного виведення однієї команди на стандартне введення іншої. Що робитиме з цим висновком інша програма залежить тільки від неї. Для перенаправлення виведення команди у файл використовуються символи > та >>:

  • команда > файл
  • команда >> файл

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

  • команда > NUL

Для очищення "екрану" командного рядка зручно використовувати команду cls. Команди бувають внутрішніми та зовнішніми. Внутрішні командиВиконує сам cmd.exe. Зовнішні команди – це EXE-файли (тобто програми) на диску. Коли вводимо команду, cmd визначає, яка це команда. Якщо внутрішня, то виконує її сам, якщо команда не є внутрішньою, тоді cmd здійснює пошук виконавчого файлу в поточному каталозі та шляхом пошуку програм ( змінна оточення PATH). Переглянути шлях змінну PATH можна так:

  • echo %PATH%

Які є команди?

Команд багато, і все в цій статті ми не розглянемо. Та й взагалі докладно команди не розглядатимемо. А навіщо? Вводиш ім'я команди, пробіл, сліш і знак питання (параметр /?). У відповідь отримаєш опис команди та її параметрів. Потрібно просто знати, що робить та чи інша команда, а опис прочитати проблем не складе.

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

У Unix є дуже корисна програма shutdown, з її допомогою можна не тільки завершити роботу системи (або перезавантажити її), але й вказати час завершення роботи. Аналог цієї команди є і Windows. З її допомогою можна просто завершити роботу системи, перезавантажити, завершити роботу активних користувачів, перейти в режим зниженого енергоспоживання і завершити сеанс без відключення комп'ютера. Дуже корисний параметр -t, що дозволяє задати в секундах тайм-аут операції. До команд цієї групи також належить програма taskkill, яка використовується для завершення роботи одного або кількох процесів. Задати процес можна на ім'я образу (ім'я файлу - ключ /IM) або за ідентифікатором процесу (ключ /pid). Наприклад:

  • taskkill /IM notepad.exe

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

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

Команді taskkill, як було зазначено, потрібно передати або ім'я образу або PID процесу. Дізнатися про PID процесу можна за допомогою команди tasklist. Також до цих команд належать команди mem (виведення інформації про використання пам'яті), systeminfo (повна інформація про систему) та tracerpt (відстежує журнал подій та виводить звіт у форматі CSV)

Мережеві команди

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

  • arp - керування ARP-таблицею
  • ping – відправляє ICMP-пакети на вказаний вузол для перевірки доступності вузла.
  • ping6 - версія ping для IPv6
  • tracert - трасування маршруту до зазначеного вузла (показує маршрути, тобто список маршрутизаторів між двома вузлами мережі)
  • tracert6 - версія tracert для протоколу IPv6
  • pathping - вдосконалена версія tracert
  • net - керує мережею з командного рядка
  • nskookup - дозволяє переглядати записи DNS-сервера
  • netstat - виведення інформації про мережу
  • ipconfig - виведення інформації про налаштування протоколу IP
  • route - виведення та зміна таблиці маршрутизації
  • netsh (routemon) - керування маршрутизатором

Особливої ​​уваги заслуговують команди netта netstat. За допомогою першої команди можна зробити багато різних операцій. Введіть команду net без параметрів. У відповідь отримаєш список команд:

  • accounts - використовується для оновлення бази даних реєстраційних записів та зміни параметрів входу до мережі
  • computer - додає чи видаляє комп'ютери з бази даних домену NT
  • config - виводить інформацію про служби сервера або робочої станції
  • continue - активізує службу, яка раніше призупинена за допомогою команди net pause
  • file - використовується для встановлення та зняття блокування із спільно використовуваного файлу, а також для виведення списку блокувань
  • group - виведення інформації про глобальні групи сервера, також використовується для зміни глобальних груп
  • localgroup - керує локальними групами на локальному комп'ютері
  • name - керує псевдонімами цього комп'ютера
  • pause – зупиняє виконання заданої служби, продовжити роботу служби можна за допомогою команди net continue
  • print - керує чергою друку
  • send - надсилає коротке повідомлення користувачам (або конкретному користувачеві) мережі
  • session – керує сеансами зв'язку цього комп'ютера з іншими комп'ютерами
  • share - дозволяє (або забороняє) використовувати ресурси цього комп'ютера іншим комп'ютерам мережі
  • start - запускає зупинену мережеву службу
  • stop - зупиняє службу
  • statistics - виводить журнал статистики для локальної служби робочої станції чи сервера
  • time - синхронізує час цього комп'ютера з часом іншого комп'ютера мережі
  • use – використовується для підключення загальних ресурсів іншого комп'ютера мережі
  • user - створює та змінює облікові записикористувача, використовується лише на сервері
  • view – виводить список загальних ресурсів цього комп'ютера

Отримати довідку щодо конкретної команди можна так:

  • net help ім'я_команди

Тепер поговоримо про команду Netstat. Вона виводить статистику використання мережі та відображає інформацію про поточні з'єднання. Дуже зручна команда. Уявімо, що на твоєму комп'ютері закриті всі програми, які можуть звертатися до мережі, а звернення до мережі все одно здійснюється, про що свідчать індикатори системи tray. Введи команду netstat -o та дізнаєшся, яка програма звертається до мережі (параметр -o використовується для виведення PID процесу).

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

Для перевірки дисків використовуються команди chkdskта chkntfs. Перша використовується для перевірки розділів FAT, а друга - для перевірки NTFS-розділів. Для дефрагментації диска використовується команда defrag. Команда recover використовується для відновлення файлів із пошкоджених розділів, а всім відома команда format використовується для форматування дисків.

Замість команди fdisk, яка використовувалася в Windows 9x, у сучасних версіях Windowsвикористовується програма diskpart. Ця програмадозволяє розбити диск розділи, створити логічні диски, видалити логічні диски, вибрати активний розділ тощо. Якщо команда fdisk працювала в інтерактивному режимі, то diskpart в основному орієнтована на використання сценаріїв. Сценарії - це текстові файли, які містять інструкції, які має виконати diskpart. Викликати diskpart можна так:

  • diskpart /s<имя_сценария>

Ось приклад сценарію diskpart:

  • select disk 0
  • clean
  • create partition primary
  • select partition 1
  • assign letter=c:
  • active
  • format

Зверніть увагу, як виконується робота з об'єктами в diskpart. Спочатку потрібно вибрати якийсь об'єкт (за допомогою команди select): спочатку ми вибираємо диск (select disk). Потім необхідно провести операції з об'єктом. Ми проводимо дві операції (clean та create partition). Потім ми вже вибираємо інший об'єкт - розділ (select partition) і робимо операції з ним (робимо розділ активним та форматуємо його). Можна вказати розмір створюваного розділу, наприклад:

  • create partition primary size=5000

У цьому випадку буде створено розділ розміром 5 Гб. До цього розділу можна віднести ще дві команди - diskperf, яка керує лічильниками продуктивності жорсткогодиска і fsutil, яка управляє поведінкою файлової системи. Наприклад, за допомогою fsutil можна скинути або встановити прапор тома "брудний" (dirty), а також отримати інформацію про файлову систему. Загалом, читай man, тобто fsutil/?

Команди для підтримки та діагностики Active Directory

У Windows для керування службою каталогу використовуються так звані DS-утиліти:

  • dsquery – виводить список об'єктів Active Directory за заданими параметрами пошуку
  • dsget - повертає атрибути заданого об'єкта Active Directory, може приймати на стандартне введення стандартне виведення команди dsquery
  • dsadd - додає один або кілька об'єктів ActiveDirectory
  • dsmod – модифікує атрибути існуючого об'єкта
  • dsmove - переміщує об'єкт з одного домену до іншого
  • dsrm – видаляє один або кілька об'єктів

Синтаксис всіх DS-команд схожий, використовуй/? для отримання довідки. Для діагностики контролера домену (DC) використовується утиліта DcDiag із комплекту Support Tools. Якщо запустити її без параметрів, запуститься 27 тестів DC (у Windows 2000 було 22 тести).

Інші команди

Ти пам'ятаєш, як називається команда, але коли її вводиш, отримуєш повідомлення, що таку команду не знайдено? Тоді спробуй використовувати команду where (аналог which у Unix):

  • where

Команда де з'явилася в Windows 2003, в Windows 2000 і Windows 2002 (вона ж XP) її немає. Для виконання якоїсь команди в певний час можна використовувати планувальник at. Можна встановити дату запуску команди, час, інтервал (наприклад, щодня). Програма може працювати у інтерактивному режимі (параметр /interactive). Якщо боїшся редагувати файл boot.ini у блокноті, можеш використовувати програму bootcfg, яка дозволить тобі уникнути помилок під час редагування цього файлу.

Іноді корисно опитати драйвери пристроїв. Для цього використовується команда driverquery.

Windows PowerShell

Можливості стандартного командного інтерпретатора cmd у Windows досить мізерні, особливо в порівнянні з командними інтепретаторами Unix - ksh, bash, csh та ін. У Microsoft це теж розуміють, тому була розроблена оболонка Monad, вона ж MSH, яка згодом була перейменована на Windows PowerShell. Встановити MSH можна на наступних платформах: Windows XP SP2, Windows Vista, Windows Server 2003 і Windows Server "Longhorn".

Завантажити PowerShell можна за адресою: http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx Там же можна завантажити повне керівництвоза PowerShell.

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

Ось деякі корисні команди, які потрібно знати, для початку роботи в PowerShell:

  • Get-Command – отримати список доступних команд
  • Get-Help - отримати довідку за вказаною командою
  • Get-Drive - отримати список дисків
  • Set-Location - змінити поточне місцезнаходження (аналог команди cd в cmd)
  • Set-Alias ​​– створити псевдонім для команди
  • Get-Date – вивести дату

Як і в cmd, підтримується перенаправлення введення-виводу, наприклад:

  • Get-Date > current-date.txt

Під час запуску PowerShell автоматично запускаються такі сценарії (якщо вони знайдені).

  • Documents and Settings\All Users\Documents\Msh\profile.msh
  • Documents and Settings\All Users\Documents\Msh\Microsoft.Management.Automation.msh_profile.msh
  • $HOME\My Documents\msh\profile.msh
  • $HOME\My Documents\msh\Microsoft.Management.Automation.msh_profile.msh

Сценарій - це звичайний текстовий файл, який містить команди PowerShell. Розширення файлу сценарію має бути msh. Синтаксис PowerShell схожий на синтаксис іншої мови високого рівня. Розглянемо кілька прикладів:

  • MSH> 5*5
  • MSH> "Конкатенація" + "рядок"
  • Конкатенація рядків
  • MSH> (Get-Date).year * 5
  • 10035

Можна працювати зі змінними, причому підтримуються масиви:

  • MSH> $t = 10
  • MSH> $t
  • MSH> $arr = 1,2
  • MSH> $arr
  • MSH> $arr = 3
  • MSH> $arr

Перед ім'ям змінної потрібно обов'язково вказувати знак долара – так PowerShell зрозуміє, що перед ним змінна, а не значення. Нумерація елементів масиву починається з одиниці. Для доступу до елемента масиву використовуються квадратні дужки. Для додавання нового елемента до масиву використовується оператор +:

  • MSH> $arr += 7
  • MSH> $arr

Крім простих масивів підтримуються асоціативні масиви:

  • MSH> $assoc = @( one = 1; two = 2; three = 3)
  • MSH> $assoc["one"]

Для додавання елемента в асоціативний масив використовується така конструкція:

  • $assoc += @( four = 4 )

Тип змінної вибирається автоматично, але можна встановити будь-який тип. Тип змінної визначається в квадратних дужкаху момент присвоєння:

  • MSH> $ var = 10;

У сценаріях можна використовувати умовні оператори if-elseif-else, switch, а також оператори циклів while, do-while, do-until, foreach. Ми розглянемо тільки оператор if-elseif-else та цикли whileта foreach. Конструкція if-elseif-else наступна:

Умова задається так:

  • змінна оператор_порівняння змінна_або_значення

Цикл while виглядає так:

  • while (умова) (оператори)
  • $i = 0; while($i -lt 10) ( $i; $i++ )
  • Цей цикл виведе числа від 0 до 9.

Тепер розглянемо синтаксис foreach:

  • foreach (змінна in асоціативний_масив) (оператори)

Цикл foreach зручно використовуватиме перебору значень асоціативного масиву, наприклад:

  • foreach ($v in Get-Process |Sort-Object Name) ( $v.Name )

Наразі розглянемо роботу з реєстром. Перейти в потрібний розділ можна за допомогою всієї знайомої команди cd:

  • MSH> cd hkcu:

Ми перейшли до розділу HKEY_CURRENT_USER. Можна перейти в інший розділ, наприклад HKEY_LOCAL_MACHINE, задавши його ім'я або скорочення (hklm). Вивести вміст розділу можна за допомогою команди dir. Для перегляду вмісту розділу використовується команда get-property:

  • MSH> cd hkcu:SoftwareMicrosoftNotepad
  • MSH> get-property

У цьому випадку ми виводимо параметри Блокнота. Встановити значення змінної у розділі можна за допомогою команди set-property (наступна команда змінить шрифт Блокнота):

  • MSH> set-property. -property lfFaceName -value "Arial"!}

Командний рядок можна викликати навіть за інсталяції Windows Vista – для цього під час встановлення потрібно натиснути Shift+F10

Команди для роботи з файловою системою:

  • type - перегляд файлу
  • more - посторінковий висновок файлу
  • copy - копіювання одного або кількох файлів
  • move - переміщення одного або декількох файлів (або перейменування каталогу)
  • del - видалення одного або кількох файлів
  • ren - перейменування файлу
  • attrib - зміна атрибутів файлу/каталогу (прихований, системний, лише читання, архівний)
  • fc - порівняння файлів
  • find - пошук текстового рядка в одному або кількох файлах
  • grep - пошук текстового рядка (можна використовувати регулярні вирази) у файлі або списку файлів
  • cd - зміна каталогу
  • dir - висновок вмісту каталогу
  • tree - виведення дерева каталогів
  • md (або mkdir) – створення каталогу
  • rd - видалення каталогу чи дерева каталогів

Оператори порівняння PowerShell

Оператор Опис Залежна від регістра версія Явно задана незалежна від регістра версія
-eq Рівно -ceq -ieq
-ne Не дорівнює to-cne -ine
-gt Більш за -cge -ige
-ge Більше, ніж або одно -cge -ige
-lt Менше ніж -clt -ilt
-le Менш, ніж чи одно -cle -ile
-like Використання символів підстановки для пошуку за зразком -clike -ilike
-Notlike Використання символів підстановки для пошуку невідповідності зразку -cnotlice -inotlice
-match Використання регулярним виразомдля пошуку відповідності за зразком -cmatch -imatch
-Notmatch Використання регулярних виразів для пошуку невідповідності за зразком -cnotmatch -inotmatch
-contains Визначення, чи значення зліва від оператора значення праворуч -ccontains -icontains
-nocontains Визначення того, що значення зліва від оператора не містить значення праворуч -cnotcontains -inotcontains
-replace Замінює частину або всі значення зліва від оператора -creplace -ireplace

Логічні оператори PowerShell



Розповісти друзям