PowerShell - завантажити і встановити для Windows 10, 8.1, 7 "

20.06.2018 windows | для початківців

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


У цьому керівництві докладно про способи відкрити PowerShell, в тому числі від адміністратора, в Windows 10, 8 і Windows 7, а також відео інструкція, де всі ці способи показані наочно. Також може бути корисно: Способи відкрити командний рядок від імені адміністратора.

Основні можливості

Зрозуміло Windows PowerShell - це в першу чергу командна оболонка з мовою сценаріїв, спочатку створена на основі платформи .NET Framework, а пізніше - на .NET Core. На відміну від приймаючих та повертаючих текстові дані оболонок, Windows PowerShell працює з класами .NET, які мають властивості та методи. PowerShell дозволяє виконувати звичайні команди, а також дає доступ до об'єктів COM, WMI та ADSI. У ній використовуються різні сховища, на зразок файлової системи або реєстру Windows, для доступу до яких створені т. зв. постачальники (providers). Варто відзначити можливість вбудовування виконуваних компонентів PowerShell в інші програми для реалізації різних операцій, в т. ч. через графічний інтерфейс. Вірно і протилежне: багато програм для Windows надають доступ до своїх інтерфейсів управління через PowerShell. Windows PowerShell дозволяє:

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

Запуск PowerShell від імені іншого користувача

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

Щоб запустити PowerShell від імені іншого користувача вам необхідно затиснути кнопку SHIFT, після чого клацнути правим кліком миші за значком PowerShell, з контекстного меню вибрати «Запуск від імені іншого користувача»

Введіть логін і пароль від потрібного вам облікового запису. У результаті оболонка працюватиме в контексті іншого користувача.

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


start powershell -credential «»

У вікні запиту облікового запису, вказуємо логін і пароль, від того облікового запису, який має потрібні вам права для подальшої вашої роботи.

Оболонка і середовище розробки

Існує Windows PowerShell у двох іпостасях: крім емулятора консолі з командною оболонкою є інтегроване середовище сценаріїв (Integrated Scripting Environment - ISE). Щоб отримати доступ до інтерфейсу командного рядка, достатньо вибрати відповідний ярлик у меню Windows або запустити powershell.exe з меню «Виконати». На екрані з'явиться синє віконце, що помітно відрізняється за можливостями від допотопного cmd.exe. Там є автодополнення та інші фішки, звичні користувачам командних оболонок для Unix-систем.

Для роботи з оболонкою потрібно запам'ятати деякі поєднання клавіш:

  • Стрілки вгору і вниз прокручують історію для повторення раніше набраних команд;
  • Стрілка вправо в кінці рядка перенабирає попередню команду посимвольно;
  • Ctrl + Home вилучає вказаний текст від позиції курсора до початку рядка;
  • Ctrl + End вилучає текст від курсора до кінця рядка.

F7 показує вікно з набраними командами і дозволяє вибрати одну з них. У консолі також працює виділення тексту мишкою, копіпаст, позиціонування курсора, видалення, backspace - все як ми любимо.

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

Командлети

У Windows PowerShell з'явилися т. зв. командлети (cmdlets). Це спеціалізовані класи .NET, в які закладена різноманітна функціональність. Іменуються вони за принципом "Дія-Об'єкт" (або "Дієслово-Існуюче, якщо вам так більше подобається), а розділена дефісом зв'язка нагадує позначене і таке, що підлягає в реченнях природних мов. Наприклад, Get-Help буквально означає «Отримати-Допомогу» або в контексті PowerShell: «Показати-Довідку». По суті це аналог команди man в Unix-системах і мануали в PowerShell потрібно запитувати саме так, а не викликаючи командлети з ключем - help або/?.. Не варто забувати і про онлайн-документації по PowerShell: у Microsoft вона досить докладна. Крім Get в командлетах для позначення дій використовуються й інші дієслова (і не тільки дієслова, строго кажучи). У списку нижче ми наведемо кілька прикладів:


Add - додати; Clear - очистити; Enable - включити; Disable - вимкнути; New - створити; Remove - вилучити; Set - вказати; Start - запустити; Stop - зупинити; Export - експортувати; Імпортувати Import.

Є системні, користувальницькі та опціональні командлети: у результаті виконання всі вони повертають об'єкт або масив об'єктів. До регістру вони не чутливі, тобто з точки зору інтерпретатора команд немає різниці між Get-Help і get-help. Для поділу використовується символ «;», але ставити його обов'язково тільки якщо в одному рядку виконується кілька командлетів.

Командлети Windows PowerShell групуються в модулі (NetTCPIP, Hyper-V і т. д.), а для пошуку по об'єкту і дії існує командлет Get-Command. Показати довідку за ним можна так:

Get-Help Get-Command

За замовчуванням команда відображає коротку довідку, але в командлети при необхідності передаються параметри (аргументи). За їх допомогою можна, наприклад, отримати детальну (параметр -Detailed) або повну (параметр -Full) довідку, а також вивести на екран приклади (параметр -Examples):


Get-Help Get-Command -Examples Довідка у Windows PowerShell оновлюється командлетом Update-Help. Якщо рядок команд видається занадто довгим, аргументи командлета можна перенести на наступний, написавши службовий символ «'» і натиснувши Enter - просто закінчити писати команду на одному рядку і продовжити на іншому не вийде.

Нижче наведемо кілька прикладів поширених командлетів:

Get-Process - показати запущені в системі процеси; Get-Service - показати служби та їх статус; Get-Content - вивести вміст файлу.

Для часто використовуваних командлетів і зовнішніх утиліт у Windows PowerShell є короткі синоніми - аліаси (від англ. Alias). Наприклад, dir - аліас Get-ChildItem. Є в списку синонімів і аналоги команд з Unix-систем (ls, ps і т. д.), а командлет Get-Help викликається командою help. Повний список синонімів можна подивитися за допомогою командлета Get-Alias:

COM_SPPAGEBUILDER_NO_ITEMS_FOUND