Windows PowerShell – що це за програма, як її запустити у Windows 7, 8, 10, команди та команди cmdlet, версія утиліти, Віндовс Пауер Шелл ISE

Для багатьох користувачів, це невід’ємний елемент ОС Windows, видається справжньою загадкою. Відкриваючи його, вони бачать список з незрозумілих символів, розібратися в якому для непосвячених не представляється можливим. Але не варто його недооцінювати, це програма, що несе важливу управлінську функцію, здатна спростити роботу з ПК, у чому б вона не виражалася.

Утиліта повністю автоматизована, для управління робочими процесами знадобиться мінімальне втручання людського фактору. Все що потрібно — ставити правильні команди. Але перш ніж це робити, треба розібратися в головному питанні: Що таке Windows PowerShell, для яких цілей він служить і які функції виконує.

Короткий огляд програми

По суті, це вдосконалена версія MS-DOS – найстарішої дискової операційної системи від компанії Microsoft, випущеної ще в середині 80-х рр. минулого століття. Вона містила в собі програми, з функцією інтерпретаторів, далеких від досконалості, вміли ставити декілька простих команд.

Розробники неодноразово намагалися компенсувати недоліки MS-DOS додатковими компонентами для запуску сценарію, такими як MS Script Host, з мовами начебто Jscript, але це вирішувало проблему лише частково. У 2003 р. розпочалася розробка програми здатної замінити стару оболонку, що отримала назву Монада, відому зараз як PowerShell. Хоча його вперше запустили в кінці 2006 року і включили в ОС Windows XP, в завершеному вигляді він вийшов тільки через 10 років безперервних доробок, у 2016 р. коли отримав відкритий вихідний код. PowerShell широко використовується в Windows 7, 8 і 10.

Windows PowerShell – що це таке

Відповісти на це питання в двох словах не вийде, він надто складний і потребує детального розгляду. Це засіб автоматизації з расширяемыми властивостями і відкритим вихідним кодом – оболонка, що містить у собі інтерфейс командного рядка з мовою сценаріїв для виконання скриптів, що містяться в ній. Набір скриптів, укладених в системні файли має розширення PS1, але для зручності користувачів запускається як звичайні BAT і CMD файли.

Таким чином, PowerShell – це не що інше, як скриптова мова, створений на платформі .NET для виконання завдань в частині управління файлами, що зберігаються на системному диску, запущеними процесами і службами. Крім того, йому підпорядковано управління обліковими записами в мережі Інтернет і будь-якими налаштуваннями від системних, до налаштувань функціональності окремих додатків. Але сам по собі PowerShell тільки оболонка, основні функції виконують супутні елементи, що наповнюють її. Далі постараємося розібратися в PowerShell, щоб робота з утилітою стала зрозуміла навіть «чайникам».

Командлети

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

Це дещо відрізняється від запитів, які вводяться в пошуковому рядку браузера, але має ті ж принципи. В оболонці міститься зберігається колекція з сотень таких команд, що відповідають за певні завдання. Формуються командлети за звичайним принципом Дієслово + Іменник, що відображає їх призначення.

Конвеєр

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

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

Сценарії

Сценарії — менш значущі типи команд в PowerShell, що являють собою блоки кодів, що зберігаються в окремому від інших файлі, але так само підтримують розширення PS1. Головною їх перевагою є те, що збережені коди не потрібно щоразу набирати в ручному режимі. Не має значення, в якому з текстових редакторів вони пишуться, хоч в Word, хоч Paint, принципово тільки дотримуватися встановленого розширення.

У самій оболонці присутній інтегрована в неї середовище для сценаріїв, скориставшись якою, можна ще більше спростити їх написання. Для їх створення, встановлено правила оформлення тексту, перед ім’ям використовується символ «$», шлях до збереженого файлу полягає у фігурні дужки, а звернення до властивостей відбувається з використанням «.» попереду. Сценарії доповнюються аргументами з використанням круглих дужок і коментарями з оформленням символами «#».

Скріншот Windows 10: як зробити знімок екрану

Доповнення

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

  1. C WS-Management, однією з опцій «Remonting», з’являється можливість виклику сценаріїв і командлетів на віддалених машинах, одного або відразу декількох. З його допомогою відслідковується стан виконання команд, за результатами виданими об’єктами серіалізації та структуризації. Додатково можлива установка інтерактивних сесій.
  2. З допомогою «Фонових робіт», можна перевести виклик команд в асинхронну послідовність. Для запуску використовуються опції локальної машини, а при бажанні і відразу декількох віддалених. Єдина незручність – використання інтерактивних командлетів стає в цьому випадку неможливим.
  3. Застосовуючи опції «Модулів» набагато простіше стає організація сценаріїв та їх приміщення в самодостатні модулі. При цьому, їх коди виконуються в незалежному контексті, не надаючи помітного впливу на структуру оточення, обмеженого при організації. Функціональний зміст модулів має 3 типу: приватне, публічне і змінне.
  4. За допомогою підмножини «Мов даних» відокремлюються їх визначення від виконуваних кодів для сценаріїв. Завдяки цьому, стає можливий імпорт в процесі їх виконання локалізованих рядків, які містяться в тіло сценаріїв.
  5. ЗНалагодженням сценаріїв» зручніше установка точок переривання, в тілі їх самих або в супутніх функції оболонки. Точки переривання встановлюються в будь-якому місці в стовпцях і рядках, для читання, команд або запису. Їх можна встановлювати і контролювати, за допомогою командлетів, що мають відношення до сценаріїв.
  6. Функції «Событирования» спрямовані на прослуховування, перенаправлення, виконання дій і управління виникають подій. Дана процедура включає оповіщення про будь-які зміни стану об’єктів, що знаходяться під управлінням. Крім того, передбачає підписку сценаріїв на ObjectEvents, з подальшою синхронної і асинхронної обробкою.
  7. Використання «Advanced Functions», спрощує розробку командлетів повноцінного зразка, за допомогою можливостей самої програми і включених в неї елементів.
  8. МожливостіОбробки помилок», дозволять використовувати різні типи винятків кожного блоку (catch) окремо.

Як запустити PowerShell

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

За допомогою «Пошуку»

Для цього потрібно клікнути по відповідному значку, розміщеним на панелі завдань, або застосувати комбінацію клавіш «Win + S». У отрывшемся вікні, в пошуковому рядку набрати «powershell», а у виданому результаті вибрати «Класичне пропозицію». Можна також викликати контекстне меню правим кліком, де скористатися «Запуск від імені адміністратора».

Через меню «Пуск»

Клацанням по кнопці «Пуск» відкрити список програм, сортованого групі під назвою «W» вибрати папку з програмою. Розгорнути її та кликнути по додатку у верхньому рядку. Тут також у вигляді варіанти, можна викликати контекстне меню правою кнопкою миші і запустити від імені адміністратора».

З використанням сполучення клавіш

Цей спосіб передбачає попереднє дія, що полягає в заміні командного рядка оболонкою «Widows PowerShell» з функцією «Меню Win + X». Після цього увійти у відповідне меню поєднанням клавіш, або через контекстне меню правим кліком по кнопці «Пуск», де вибрати потрібний пункт в представленому списку.

Через діалог «Виконати»

Один з найпростіших способів, з відкриттям діалогового вікна «Виконати». Для його виклику, застосувати поєднання клавіш «Win + R», у рядку «Відкрити» ввести команду з ім’ям програми. Для її запуску натиснути на клавішу «Enter» або кнопку «Ок» на панелі вікна.

За допомогою «Диспетчера завдань»

Щоб відкрити диспетчер, застосувати поєднання клавіш «Ctrl + Shift + Esc», у вікні, що відкрилося, на вкладці «Файл» вибрати варіант «Запуску нової задачі». У новому вікні, напроти рядка «Відкрити», вписати «powershell і натиснути на «Enter». У разі якщо потрібно створення завдання від імені адміністратора, відзначити галочкою опцію і підтвердити натисканням по кнопці «Ок».

Тачпад ноутбука – включення і відключення панелі

Через «Провідник»

Після його відкриття, потрібно вказати ім’я папки або диска, де буде запускатися програма. На вкладці «Файл» вибрати пункт «Запустити Widows PowerShell і натиснути на потрібний пункт.

Через системну папку

У пошуковому рядку ввести адресу програми: «C:\Windows\System32\WindowsPowerShell\v1.0». У списку, що відкрився, вибрати папку «powershell.exe» і відкрити її подвійним лівим кліком. Щоб спростити процес у майбутньому, можна створити ярлик файлу і закріпити в будь-якому зручному місці: на панелі завдань і меню «Пуск», або робочому столі. При необхідності запуск оболонки буде здійснюватися подвійним кліком по іконці.

Процедура використання утиліти

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

Робота з командлетами

На простому прикладі, команда, задающаяся як «Get Help» — це своєрідний довідник утиліти, що надає при введенні загальну інформацію. Якщо потрібна довідка з певного процесу, наприклад про підключених дисках, потрібно задати команду – «Get Help Get-PSDrive», і так по будь-якому питанню, змінюючи тільки назву команди. Для будь-яких дій, наприклад, очищення кошика від файлового сміття, зазвичай використовується «Clear-RecycleBin», яке застосовується і для більш важливих завдань в обслуговуванні ПК і для написання скриптів. Але він відповідає і за такий простий процес, як очищення системних кошиків. Перш потрібно вказати диск, що підлягає очищенню, за принципом: «Clear-RecycleBin C:» для підтвердження дії, введіть символ «Y» і натиснути «Enter».

Робота з конвеєром

В роботі, конвеєр надзвичайно простий і зручний, ніж особливо виділяється на тлі інших типів команд. Наприклад, якщо виводити результат Get-Process, що містить інформацію про активні процеси на ПК в команді Soft-Object, він відсортує їх за дескрипторам. Перевівши отримані значення Where-Object, відбудеться фільтрація цих процесів по заданому параметру, наприклад, найменшого обсягу сторінкової пам’яті. А якщо і цей результат вивести в Select-Object, він виділить лише перші 10 процесів, з урахуванням кількості дескрипторів.

Або ще один простий приклад, що застосовується для отримання інформації про найбільш великовагових файлах, що зберігаються на системному диску: Команда Get-ChildItem, відкриває каталог для вибору об’єкта, Sort-Object відсортує вибраний об’єкт, а Select-Object вкаже його потрібні властивості.

Робота зі сценарієм

При створенні алгоритмів, часто застосовується Windows PowerShell ISE, спеціально створений механізм, у тому числі і для використання сценаріїв. В ньому, під назвою «Безіменний 1.ps1» вводиться тіло коду. Розглянемо на простому прикладі: «WMID WebMoney» у назві задати умовно «wmid», зберегти файл в корені диска С. Для запуску потрібно увійти в каталог, застосовуючи команду «cd C:\» ім’я файлу повинно значитися в такому ключі: «.\wmid». Примітно, що запускаються сценарії і з командного рядка ОС, але для цього потрібно змінити шлях до нього: «powershell.exe C:\ wmid.ps1». При цьому важливо пам’ятати, що виконувати сценарії за замовчуванням забороняється, для отримання дозволу на такі дії, слід задати команду Set-ExecutionPolicy.

Найкорисніші командлети PowerShell

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

Найбільш корисні в застосуванні:

  • Get-Help – довідник за призначенням командлетів і загальним властивостям оболонки;
  • Update-Help — завантаження і установка оновлених довідкових даних;
  • Get-Command – пошуковик необхідних команд, з авто заповненням рядка;
  • Get-Alias – відображає встановлені псевдоніми, загальним списком або з конкретикою;
  • Get-PSDrive – являє запущені диски і відбуваються на них процеси;
  • Install-WindowsFeature – рольової і компонентний інсталятор;
  • Uninstall-WindowsFeature – рольової і компонентний дєїнсталлятор;
  • Get-History – відповідає за повернення командних списків, виконаних при вході.
  • $hversion – повертає версію утиліти

Як відновити інформацію з жорсткого диска? Програми для відновлення даних

Змінні:

  • Get-Variable – показує списком всі змінні з урахуванням їх значень;
  • New Variable – використовується для налаштування ново створених змінних;
  • Set-Variable – встановлює нові значення, якщо вони не значаться в списку;
  • Clear-Variable – дєїнсталлятор змісту, зберігає образ;
  • Remove-Variable — дєїнсталлятор командлетів та їх складових.

Форматування:

  • Format-List – розширений довідник;
  • Format Table – виводить таблицю результатів окремих команд;
  • Format-Wide — розширена таблиця з результатами, з властивостями окремих об’єктів.

Інтернет:

  • Enable-NetAdapter – для включення адаптера;
  • Rename-NetAdapter – задає нове ім’я і подання;
  • Restart-NetAdapter – використовується для перезапуску;
  • Get-NetIPAddress – надає дані по конфігурації проксі-сервера;
  • Set-NetIPAddress – задає нову конфігурацію проксі-сервера;
  • New-NetIPAddress – займається створенням і налаштування проксі-сервера;
  • Remove-NetIPAddress – дєїнсталлятор проксі-сервера;
  • New-NetRoute – використовується для внесення додаткових записів;
  • Get-NetIPv4Protocol — надає дані по протоколу IPv4;
  • Get-NetIPInterface — відображає властивості і характеристики веб-інтерфейсу IP.

Елементи:

  • Get-Item — приймає елементи по заданому шляху;
  • Move-Item – для переміщення елементів з інших папок;
  • New-Item – використовується для створення та оформлення;
  • Remove-Item – дєїнсталлятор зазначених елементів;
  • Get-Location – показує місцезнаходження в теперішньому часі.

Фонові завдання:

  • Start-Job – виконує запуск;
  • Stop-Job – зупиняє роботу;
  • Get-Job – відкриває список;
  • Receive-Job – надає інформацію про результати;
  • Remove-Job – дєїнсталлятор фонових завдань.

Об’єкти:

  • Measure-Object – використовується для розрахунку числових агрегуючі параметрів;
  • Select-Object – для вибору з зазначенням конкретних властивостей;
  • Where-Object – відображає умови щодо вибірки за значенням і властивостями.

Служби і процеси:

  • Get-Process – показує інформацію про активні процеси ПК;
  • Start-Process – робить запуск на ПК;
  • Stop-Process — припиняє роботу обраних;
  • Get-Service – надає дані про активних службах;
  • Restart-Service – здійснює перезапуск;
  • Start-Service – використовується для підключення вибраних;
  • Stop-Service – ставить на паузу процес;
  • Set-Service – змінює властивості служб і режим підключення.

Комп’ютер і система:

  • Restart-Computer – використовується для перезавантаження ОС;
  • Checkpoint-Computer — для створення системної відновлювальної копії для ПК;
  • Restore-Computer – відповідає за запуск відновленої системи;
  • Remove-Computer — деинсталлирует локальний ПК з доменного імені;
  • Clear-EventLog – очищає список записів у журналі.

Контент:

  • Get-Content – приймає вміст різних елементів;
  • Clear-Content — стирає вміст, але зберігає образи;
  • Set-Content – використовується для перезапису.

Що таке PowerShell ISE

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

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

Видалення програми

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

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

  • Запускаємо системний пошук і вводимо appwiz.cpl.
  • У вікні вибираємо – Перегляд інстальованих оновлень.
  • Шукаємо потрібний компонент в списку оновлень, зазвичай це KB928439 і видаляємо його.

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