Виконує скрипти PowerShell з правами адміністратора. Запуск PowerShell скриптів за розкладом

Жарознижувальні засоби для дітей призначаються педіатром. Але бувають ситуації невідкладної допомоги за лихоманки, коли дитині потрібно дати ліки негайно. Тоді батьки беруть на себе відповідальність і застосовують жарознижувальні препарати. Що можна давати дітям грудного віку? Чим можна збити температуру у старших дітей? Які ліки найбезпечніші?

є декілька різних способівзапуску скрипта, нижче наведені основні:

  1. Запустити оболонку PowerShellі в ній запустити скрипт (ввести шлях до файлу та ім'я файлу, наприклад, так: C:\Scripts\test.ps1, або перейти в папку скрипта командою cd C:\Scripts і запустити його командою.\test.ps1) Оболонку можна знайти та запустити безліччю способів. Один із способів – через меню "Пуск". Для Windows 7 - потрібно зайти до "Всі програми" - "Стандартні" - "Windows PowerShell" і запустити оболонку "Windows PowerShell". Для Windows 10 потрібно знайти групу на букву "W" і в ній ви знайдете "Windows PowerShell".
  2. Запустити "Інтегроване середовище сценаріїв Windows PowerShell ISE"- Це програма - середовище розробки, що дозволяє редагувати і налагоджувати скрипти PowerShell, яка є за замовчуванням разом з самим PowerShell. Запустивши її, потрібно просто натиснути кнопку "Відкрити" або зайти в меню Файл - Відкрити і вибрати потрібний скрипт, потім натиснути F5 або кнопку "Виконати скрипт". .
  3. Запустити стандартний командний рядокі в ній написати:
    powershell -file<имя_скрипта> (Приклад: powershell -file myscript.ps1)

Якщо ви раніше не запускали скрипти PowerShell, то, швидше за все, ви отримаєте повідомлення: Неможливо завантажити файл<имя_скрипта>, оскільки виконання скриптів заборонено даної системи. Введіть "get-help about_signing" для отримання додаткових відомостей. Пов'язано це з тим, що з міркувань безпеки та недопущення випадкового виконання шкідливого коду всі скрипти мають бути підписані цифровим підписом.

Як дозволити виконання непідписаного скрипта PowerShell?

1. В оболонці PowerShell, перед тим як запускати скрипт, виконати команду, яка дозволяє виконання непідписаних скриптів для поточного сеансу оболонки:

Set-ExecutionPolicy RemoteSigned -Scope Process

2. Під час запуску зі стандартного командного рядкавикористовувати параметр -executionpolicy, тобто. запускати скрипт так:

<имя_скрипта>

Обидва способи встановлюють політику тільки для поточного сеансу, при цьому політика безпеки виконання скриптів PowerShell, прописана в реєстрі, не буде змінена і залишиться незмінною. Якщо ви хочете змінити політику безпеки виконання скриптів "на постійно", то використовуйте такий спосіб:

3. Дозволити запуск назавжди: запустити оболонку PowerShell від імені адміністратора, потім виконайте команду:

Set-ExecutionPolicy RemoteSigned

Примітка:Якщо скрипт був завантажений з інтернету, щоб уникнути запиту на підтвердження запуску, потрібно замість RemoteSigned використовувати Bypass - повне відключення будь-яких запитів і попереджень.

Як запустити скрипт PowerShell у фоновому режимі?

Для цього достатньо використовувати параметр запуску -WindowStyle, який може набувати значень: Normal, Minimized, Maximized і Hidden. Таким чином, щоб запустити непідписаний скрипт у фоновому режимі, потрібно виконати команду:

powershell -executionpolicy RemoteSigned -WindowStyle Hidden -file<имя_скрипта>

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

Запуск скрипта PowerShell з параметрами

Власне запуск потрібно робити, якби ви запускали звичайну програму або bat-файл з параметрами. Наприклад, для запуску скрипта з параметрами з командної можна написати таку команду:

powershell -executionpolicy RemoteSigned -file<имя_скрипта>param1 param2 "ще один текстовий параметр"

У самому скрипті ви можете отримати ці параметри так:

Param ($var1, $var2, $var3) echo $var1, $var2, $var3

В інтегрованому середовищі PowerShell ISE запустити скрипт з параметрами можна аналогічно, використовуючи область команд.

Як запустити скрипт PowerShell за допомогою ярлика?

Здійснити таке завдання можна двома способами:

  1. Створити bat/cmd файл, у якому прописати команду для запуску скрипта (з параметрами ви ознайомились вище)
  2. Створити ярлик на PowerShell, який можна знайти в папці c:\Windows\System32\WindowsPowerShell\v<версия>\ та у властивостях ярлика в полі "Об'єкт" дописати необхідні параметри.

Таким чином, наприклад, щоб запустити скрипт PowerShell при вході користувача, можна просто створити ярлик, як описано в 2-му пункті і помістити його в автозавантаження. Також створення ярлика одним із способів вище дозволить легко запустити скрипт від імені адміністратора або від імені будь-якого іншого користувача як звичайну програму.

Скриптова мова PowerShell - досить потужний інструмент для вирішення різних завдань, але його можна використовувати не тільки для хороших речей, але і на шкоду, тому користуйтеся ним з розумом;)

PowerShell має ряд режимів виконання, які визначають, який тип коду дозволяється виконувати. Все це управляється ключем реєстру, який живе в HKLM. Існує 4 різних режимувиконання:

Обмежений(Restricted): Політика виконання за умовчанням, не допускає роботу скриптів і дозволяє лише інтерактивних команд.

Усі підписані(All Signed): Допускає роботу всіх скриптів. Щоправда, всі скрипти та конфігураційні файли повинні бути підписані видавцем, якому ви довіряєте; даний режим наражає вас на ризик роботи підписаних (але шкідливих) скриптів, після отримання підтвердження довіри видавцеві.

Видалені підписані(Remote Signed): Локальні скрипти працюють без підпису. Усі завантажені скрипти повинні мати цифровий підпис.

Необмежений(Unrestricted): Усі скрипти та файли конфігурації, отримані з комунікаційних програм, на зразок Microsoft Outlook, Internet Explorer, Outlook Expressі Windows Messenger працюють після підтвердження, що ви знаєте, що файл виходить з Інтернету; жодних цифрових підписів не потрібно; Цей режим наражає вас на ризик роботи непідписаних, шкідливих скриптів.

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

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

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

Set-ExecutionPolicy Unrestricted

Ви побачите запит підтвердження. Натисніть клавішу Enter.

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

Set-ExecutionPolicy Restricted

І знову ви побачите запит на підтвердження. Натисніть клавішу Enter.

От і все! Удачі вам!

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

Методи відкриття оснастки PowerShell

Powershell дуже добре розвивається і з виходом Windows 10 отримав 5 версію, але у нас тема інша. Так як відкрити PowerShell? Все просто якщо у Windows XP, то ніяк. так він доставляється окремо, у всіх наступних релізах йде як вбудований компонент. Найуніверсальніший спосіб відкриття powershell це натиснути

Win+R та ввести powershell

Натиснувши enter у вас запуститися консоль PowerShell, проблема тільки в тому, що вона відкриється не від імені адміністратор. І в результаті багато команди виконати не вдасться, нижче дивимося як це зробити від імені адміну.

Як запустити windows powershell від імені адміністратора у Windows 8.1 та Windows 7

Відкрити windows powershell можна через запуск. У Windows 8.1, Windows 2012 R2 переходьте в пункт Службові - Windows і правим кліком вибираєте запустити від імені адміністратора.

У Windows 7 і Windows 2008 R2 це виглядає так Пуск > Стандартні > Windows PowerShell

Також можна створити ярлик у пункті завдання та клацнути по ньому правим кліком та вибрати відповідний пункт

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

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

Натискаємо кнопку "Додатково". У вас з'явиться додаткові характеристики. де потрібно виставити галку запуск від імені адміністратора.

Все дуже просто. Упевнений, що у вас тепер не виникне питання, як вам відкрити windows powershell. Ще корисним буває поміняти шрифт у вікні PowerShell.

Як відкрити PowerShell через контекстне меню кнопки «Пуск» у Windows 10

Компанія Microsoft все більше робить акцент з командного рядка у бік своєї сильної мови (PowerShell), і це логічно, оскільки його можливості з управління операційними системами сімейства Windows майже безмежні, а то й більше, ніж у графічному інтерфейсі. Починаючи з версії Windows 10 1709, у контекстному меню, PowerShell, замінив усім звичний cmd. Клацаєте правим кліком по кнопці пуск у Windows 10 та з контекстного меню, вибираємо відповідний пункт:

  1. Windows PowerShell
  2. Windows PowerShell (адміністратор) – це якраз і є режим з максимальними правами у Windows 10.

Запуск Windows PowerShell за допомогою пошуку у Windows 10

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

Запуск Windows PowerShell за допомогою меню Пуск у Windows 10

Щоб відкрити оболонку PowerShell з меню Пуск, відкрийте його і знайдіть пункт Windows PowerShell, він буде у вигляді папки, відкрийте його і запустіть відповідну версію.

Якщо клацнути правим кліком, то ви зможете запускати оболонку повершила від імені та з правами адміністратора.

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

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

C:\Users\ім'я користувача\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Windows PowerShell

У результаті у вас відкриється папка з ярликами, які є в меню "Пуск", можете їх запускати.

Ще можна запустити оригінальний, виконуваний файл, який лежить по дорозі:

C:\Windows\System32\WindowsPowerShell\v1.0

І натиснувши на нього правим кліком, ви можете його завантажувати від імені адміністратора, з максимальними правами.

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

Ну і ще нагадаю метод, запуск нового завдання з оснащення "Диспетчер завдань". Відкрийте "Диспетчер задач", виберіть пункт меню "Файл - Запустити нове завдання"

У вікні, введіть PowerShell.

Ну і останній відомий мені метод, це запуск PowerShell через провідник Windows 10, для цього відкрийте провідник, виберіть пункт меню "Файл - запустити Windows PowerShell", тут будуть обидва режими.

Що таке PowerShell ISE

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

powershell шрифт змінюється дуже просто перейдіть у властивості на вкладку Шрифт, де ви можете встановити розмір від 5 до 72.

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

Тут налаштування шрифту трохи інші, разом із зміною, змінюється і розмір консолі.

На вкладці Кольори, можна задати колір шрифту в powershell та й самого вікна. Зробивши його, наприклад, чорним, як командна строка.

Також раджу, якщо ви активний консольник виставити розмір буфера не в 50 команд, а хоча б у 100.

Дякую за увагу. Ось такі методи, відкриття консолі Power Shell в Windows. Матеріал сайту

Не один рік минув з моменту виходу Windows 7 та Server 2008.

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

Початківці ж користувачі здебільшого навіть знають, що таке PowerShell (PS).

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

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

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

Що таке Windows PowerShell?

PowerShell- Інтерпретатор на основі .NET Framework, наділений власною мовою сценаріїв.

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

Як це було в MS-DOS та старих версіях UNIX'а.

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

Порівняно з іншими інтерпретаторами, PS відрізняється:

  • інтеграцією с. – дозволяє створювати потужні скрипти, впроваджуючи у яких програмний код;
  • всі дані, що повертаються, є об'єктами, а не даними текстового/рядкового типу (string), що передбачає їх передачу іншим скриптам і будь-яку обробку.

PowerShell другої версіїмає такі можливості, частину з яких розглянемо докладніше:

  • Можливість подання команд у вигляді командлетів- їх запуск здійснюється всередині інтерпретатора, інакше команда виконується в окремому процесі.
  • Використання конвеєрів– призначені передачі даних з однієї команди в іншу зі збереженням їх структури та типу.
  • Інтегрована багатопотокова передача данихпо мережі з встановленням пріоритетності та відновленням з'єднання.
  • Підтримка позиційних та іменованих параметрів.
  • Фонова робота– асинхронний виклик команд та запуск скриптів на віддалених машинах.
  • Встановлення обмежених сесій із віддаленими клієнтамита виконання сценаріїв на них.
  • Модулі– спосіб організації скриптів, коли вони стають самодостатніми і виконуються у власному контейнері, не впливаючи на оточення модуля.
  • Наявність оброблювача помилок.
  • Графічна середовище для мови: синтаксис, відладчик, підсвічування, автоматичне завершення команд з підтримкою Юнікод та закладок.
  • Додавання точок переривання в рядки, команди, операції та змінні для налагодження сценарію.
  • Блокові та підрядкові коментарі.
  • Підтримка створення аліасів для деяких командлетів, що перетворюються на звичайні команди в момент виконання.
  • Створення обмежених сесій,де можна виконувати строго заданий перелік команд і багато іншого.

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

Починати освоєння інтегрованої скриптової мови, не маючи навичок програмування, можна.

Створити складний сценарій вдасться навряд, але виконувати послідовності примітивних дій вийде чи не кожен.

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

Командлети

Командлети- своєрідні команди PS, за якими ховаються різні функції. Вбудовані в інтерпретатор команди реалізовані за принципом «дієслово-іменник», наприклад, Get-Process (отримання списку процесів). Таке рішення дозволяє розуміти суть команди вже з її назви (англійською мовою).

Частина командлетів підтримує отримання/передачу даних та масивів інформації із збереженням їх структури та типу. Це працює за принципом конвеєра (мова про це піде у наступному розділі). Незважаючи ні на що, командлети запускаються та обробляють об'єкти строго порядку.

Для реалізації командлетів можуть використовуватися будь-які підтримувані.NET API, створені на будь-якій.NET-мовах.

Таким чином користувачеві надається доступ до специфічних функцій програми.

Командлети вміють для отримання доступу до необхідної інформації безпосередньо чи через унікальні шляхи (літери дисків та шляхи до директорій).

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

Конвеєр

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

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

При цьому не потрібні ніякі контейнери або посимвольні розбір інформації.

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

Скрипти

Незважаючи на те, що оболонка дозволяє автоматизувати безліч дій, вводити команди потрібно вручну, що не дуже зручно.

Особливо, коли ті самі операції слід виконувати постійно.

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

Для виконання одноманітних ланцюжків дій у PS реалізовані сценарії - текстові файлиз послідовністю зрозумілих для інтерпретатора команд усередині.

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

Але тут "не все золото, що блищить": написати власний сценарій або завантажити готовий (нехай і трохи підігнавши його під власні цілі) так просто не вийде.

Якби вMicrosoftце дозволили, скільки б бід наробили скрипти дляPowerShell , написані шахраями та недоброзичливцями в корисливих чи хуліганських цілях

Для виконання в Windows PS необхідно пройти контроль запуску.

Якщо його не пройдено, а скрипт повинен виконатися, доведеться змінити конфігурацію відповідних за безпеку макросів об'єктів.

Перш ніж користуватися скриптами

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

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

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

Навмисний запуск макросів відбувається після зміни рівня безпеки, якщо користувач дасть добро, усвідомлюючи, що він робить, і знаючи напевно, що у файлі *.ps1 знаходиться.

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

Тут можна як знизити захист до мінімуму, так і розумно лавірувати між можливістю відкрити дірки для проникнення та зручністю в роботі з PowerShell.

Оболонка має три рівні безпеки:

  • файли з розширенням ps1 не ідентифікуються системоюяк виконувані та позначаються як невідомі або текстові (за подвійним кліком відкриваються у текстовому редакторі, що використовується на комп'ютері за замовчуванням);
  • оболонка дозволяє виконувати скрипти після вказівки до них повного шляху, скриптові файли в поточній директорії не шукаються, унеможливлюючи виконання макросів, розташованих у поточному каталозі;
  • запуск вбудованого скрипту Execution Policy, який відповідає за додавання до переліку дозволених скриптів необхідного.

Навіть не думайте змінювати конфігурацію, знизивши її хоча б до другого рівня, не ознайомившись із основамиPowerShell, доки не почнете хоча б поверхово розуміти вміст файлів *.ps1.

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

  • обмежені –встановлені за замовчуванням, виконуються лише підписані Microsoft сценарії, що дозволяють отримувати інформацію про апаратну та програмну оболонку комп'ютера;
  • мають підпис віддалених файлів - Виконувати можна всі макроси, але або надіслані поштою файли повинні бути підписаними;
  • мають цифровий підпис від надійного джерела- Виконуються всі підписані сценарії;
  • необмежені- Запуск будь-яких макросів;
  • обхідні– призначені для програмістів, що створюють власну системубезпеки, а не використовують представлену в оболонці.

Перевірити стан політики запуску можна командою «Get-ExecutionPolicy» .Хоч би якою була політика безпеки, користувач не зможе запустити скрипт, в якому містяться команди, на виконання яких у нього недостатньо привілеїв.

Запуск PowerShell

Від теорії час переходити до практики. Отже, для виконання скриптів необхідно отримати цифровий підпис або (другий варіант простіший).

Викликати вікно PowerShell можна кількома шляхами.

Представлено воно у двох видах:

  • класична консоль;

  • PowerShell ISE – додає підтримку вкладок, синтаксису, контекстної довідки, контекстного та головного та меню, що значною мірою полегшує роботу в інтерпретаторі.

Пуск

Найпростіше викликати PS через Пуск.

  1. Відкриваємо меню(У Windows 7 натискаємо «Всі програми»).
  2. Ідемо до каталогу Windows PowerShellі клацаємо по потрібній іконці.

Мал. 4 – Запуск PS через Пуск

Також викликати PS через можна за допомогою інтегрованої пошукової системи.

Командний інтерпретатор

Хто любить нестандартні та швидкі способизапуску, скористайтеся вікном "Виконати" . Воно відкривається однойменною кнопкою в Пусці та комбінацією клавіш Win + R .

У діалоговому вікні пишемо "powershell"і тиснемо "Введення" .

Win+X

У Windows 10 PS можна викликати меню WinX. Справа в тому, що за умовчанням шляхом кліка за командою "Командна строка"відкриваємо CMD. Її можна замінити на PowerShell.

Відкриваємо «Властивості» Панелі завдань, у вкладці «Навігація» ставимо галочку біля єдиної опції та зберігаємо налаштування.

Можна викликати PowerShell через командний рядок, прописавши в ньому "powershell" або запуском виконуваного файлу по дорозі: %WINDIR%\ System32\ WindowsPowerShell\v1.0 для 32-бітових систем та за адресою %WINDIR%\ syswow64\ WindowsPowerShell\v1.0 для 64-розрядних Windows будь-якийредакції.

Мал. 8 – Запуск PS з каталогу, де зберігається його файл, що виконується

Налаштування політики безпеки

Залишилося небагато- Дозволити PowerShell виконання скриптів. Прописуємо команду Set-ExecutionPolicy RemoteSigned і тиснемо Y.

На цьому все. Тепер можете виконувати будь-які командлети та скрипти. Спробуємо, наприклад, відобразити список активних процесів, виконавши "Get-Process".

Запуск скриптів

Створювати сценарії можна в будь-якому (краще зупинитися на Win, або подібному, за допомогою синтаксису або перевірки) або у програмі PowerShell ISE.

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

Припустимо, свій перший скрипт ви написали (це отримання переліку запущених процесів), зберегли через меню «Файл» , і його потрібно запустити. Робиться це трьома шляхами:

1 Прописуємо повний шлях до скрипту PowerShell (або ISE);

Мал. 13 – Запуск скриптів із вікна PowerShell ISE

Важливо, щоб у дорозі до файлу були відсутні прогалини!

PowerShell– потужний засіб для спрощення виконання рутинних операцій у , Server 2008 та новіших. Важлива перевага PowerShell – скрипти та наявність версії програми із графічним інтерфейсом PS ISE. Команди в ній представлені у вигляді командлетів, що уможливить ознайомлення з оболонкою та розуміння сенсу кожної команди. Політика безпеки не дасть новачкові нашкодити своєму комп'ютеруотриманими з невідомих джерел скриптами, а режим налагодження, створення власних командлетів, функцій та механізм обробки помилок відкривають перед програмістами та адміністраторами необмежені можливості.

В адмініструванні завжди є місце творчості. Хочеш зробити якусь автоматизацію рутинного завдання? Будь ласка! Чи потрібно щось регулярно перевіряти на активність? Не питання! Хочеш опрацювати якийсь гігантський звіт і вивести лише актуальні дані? Теж можна. Всі ці та багато інших завдань найкраще вирішувати за допомогою скриптів, і мова PowerShell у випадку з Windows – оптимальний вибір.

Що таке PowerShell і чим він добрий

Користувачі UNIX і Linux, а з якогось моменту і macOS звикли до того, що під рукою завжди є Bash - трохи старомодний, але універсальний і потужний засіб, за допомогою якого лише кількома рядками можна творити дивовижні речі. Прописуєш новий скрипт у cron - і готово, він уже крутиться на твоєму комп'ютері або на сервері і непомітно робить щось корисне.

Повертаючись у Windows (а без цього іноді ніяк), розумієш, що скрипти.bat хоч і хороші, але рятують не завжди: дуже обмежені їх можливості. І якщо ти досі вважав, що PowerShell - це невідома штуковина, заради якої потрібно щось там піднімати і налаштовувати, то не поспішай з висновками - він, якщо розібратися, зовсім непоганий.

Windows PowerShell - це засіб автоматизації з відкритими вихідними джерелами, що складається з оболонки (командного рядка) і скриптової мови. Вперше він був показаний у 2003 році (тоді він називався Monad). PowerShell 2.0 вийшов у складі Windows 7 та Windows Server 2008 R2 і з тих пір є у Windows як стандартний компонент. Його навіть увімкнули в Windows XP SP3. PowerShell побудований на основі .NET Framework та інтегрований з ним. PowerShell може звертатися до COM, WMI та ADSI, а також, звичайно ж, виконує консольні команди.

Загалом, «пошик» має міцні зв'язки з продуктами Microsoft, будь то Active Directoryабо поштовий сервер Exchange. Це дозволяє без підключення до оснастки сервера звертатися до них через консоль і віддавати команди.

Якщо раніше ти не цікавився PowerShell, то швидше за все у тебе стоїть друга версія. Я рекомендую оновитися як мінімум до третьої - вона містить значно більше можливостей та корисних фішок. Якщо не вдаватися в подробиці, то в PowerShell 2.0 входить близько десятка модулів і приблизно 350 команд, а PowerShell 3.0 вже близько 2300 командлетів з більш ніж 70 модулів. "Хакер" також писав про те, чим відрізняється найновіший PowerShell п'ятої версії з Windows 10.

Вибираємо середовище розробки та інструменти

Тепер давай розберемося, де найзручніше писати код. Можна, звичайно, і в Блокноті, Notepad++ або Sublime. Але це в даному випадку не грамотний вибір редактора. Найкраще починати знайомство з PowerShell, озброївшись тим, хто йде в комплекті.


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

Проте у PowerShell ISE є гідні конкуренти. Один з них - .

PowerGUI – це візуальне доповнення до PowerShell. Воно спрощує складання своїх сценаріїв до вибору необхідних командлетів. Береш те, що потрібно для вирішення завдання, і перетягуєш частини коду, доки не отримаєш скрипт. Одна з головних фішок PowerGUI – це Power Packs, готові скрипти, опубліковані спільнотою користувачів та викладені у вільний доступ. Тут є і простенькі команди на кшталт додавання користувачів, і складні - наприклад, керування світильниками і віртуальними машинами. Всі їх легко доповнювати та модифікувати відповідно до потреб.


Фірми Sapien - більш просунуте середовище, яке розраховане на спільну розробку одного проекту великою кількістю учасників. Якщо ти колись мав справу з Visual Studio, то, гадаю, помітиш подібність. Серед корисних фішок PowerShell Studio - панель Ribbon, підтримка віддаленого налагодження, а також функції компілятора, які дозволяють включити скрипти у файли, що виконуються. Є підтримка різних версій PowerShell.


Варто згадати і Script Browser для Windows PowerShell ISE. Це не середовище розробки, але дуже цікавий інструмент, розроблений у Microsoft. Script Browser відкриває доступ до бази готових скриптів, які можна використовувати як зразки для написання свого коду. А ще ця штука вміє аналізувати код, який ти пишеш, і нагадує, як його покращити.


Декілька корисних трюків

Розібравшись із редактором, можна приступати до написання коду. PowerShell - нескладна мова, і, я думаю, ти швидко розберешся, що до чого. Команди тут називаються командлетами, і кожен із них складається з двох частин. Спочатку йде дія, наприклад Get, Set, Add, Invoke, Remove. Потім вказується те, на що дія спрямована: Service, VM, AzureAccount, DHCPServerSetting. Кожна частина відокремлюється від іншої дефісом. Виходить, наприклад, get-process. Це, до речі, корисна командаяка виводить список процесів. Скажімо, якщо написати

get - process BadTh *

побачимо щось таке:

Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName

------------------------

28 4 - 210844 - 201128 - 163 25.67 2792 BadThread

Тепер можна завершити процес, що завис:

Можна переглянути рекурсивно, правда вже трохи з більш складною логікою:

Можна також виконати

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

Get - AdUser - Filter * - Properties OfficePhone | FT OfficePhone , UserPrincipalName

PowerShell у порівнянні з bat

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

Наступний командний рядок перезавантажить комп'ютер із затримкою в десять секунд:

Ось так через bat можна перезавантажити службу dnscache (або будь-яку іншу):

sc stop dnscache

sc start dnscache

Підтримайте проект - поділіться посиланням, дякую!
Читайте також
Прошивка мобільного модему під усі сімки Чи можна прошити мтс роутер Прошивка мобільного модему під усі сімки Чи можна прошити мтс роутер Прошивка Андроїд за допомогою утиліти FastBoot Прошивка Андроїд за допомогою утиліти FastBoot Прості способи отримати Root на пристроях із процесором MTK65XX Прості способи отримати Root на пристроях із процесором MTK65XX