Чит-лист PowerShell Commands
Що стосується запуску команд у Windows, PowerShell став десь тузом у лунці. Протягом багатьох років ентузіасти обмежувалися обмеженнями командного рядка Windows, але в 2006 році PowerShell став потужною альтернативою.
Що таке PowerShell?
PowerShell – це інтерактив Інтерфейс командного рядка (CLI) та механізм автоматизації, розроблений корпорацією Майкрософт для розробки конфігурацій системи та автоматизації адміністративних завдань. Цей інструмент має власний командний рядок з унікальною мовою програмування, схожою на Perl. Спочатку PowerShell був розроблений для управління об’єктами на комп’ютерах користувачів.
Сьогодні PowerShell пропонує користувачам широке середовище, де вони можуть виконувати та автоматизувати завдання управління системою. Користувач може отримати доступ до ресурсів з Active Directory до Exchange Server через одну програму. По суті, PowerShell дозволяє користувачеві отримати доступ:
- Командний рядок
- Команди PowerShell
- .API NET Framework
- Інструментарій управління Windows
- Компонентна модель об’єкта Windows
Оскільки PowerShell перетворився на додаток з відкритим кодом, тепер користувачі на базі Linux та Unix можуть отримати доступ до цієї універсальної платформи. PowerShell використовується в основному, щоб допомогти користувачам автоматизувати адміністративні завдання. Замість того, щоб виконувати виснажливі та повторювані завдання, користувач може просто створювати сценарії та видавати команди, і PowerShell виконає їх автоматично. Користувач може налаштувати сотні команд, які називаються cmdlets.
Команди PowerShell
Ось 25 основних команд PowerShell:
Встановити місцеположення | cd, chdir, sl | Встановлює поточне робоче місце на вказане місце. |
Отримайте контент | кіт, gc, тип | Отримує вміст елемента у вказаному місці. |
Add-Content | змінного струму | Додає вміст до зазначених елементів, наприклад додавання слів у файл. |
Встановити вміст | sc | Записує або замінює вміст у елементі новим вмістом. |
Копія-елемент | копія, cp, cpi | Копіює елемент з одного місця в інше. |
Видалити-предмет | del, стерти, rd, ri, rm, rmdir | Видаляє вказані елементи. |
Переміщення-предмет | ми, рухатися, mv | Переміщує предмет з одного місця в інше. |
Набір-предмет | си | Змінює значення елемента на значення, вказане в команді. |
Новий елемент | ni | Створює новий елемент. |
Початок роботи | сайб | Починає фонове завдання Windows PowerShell. |
Порівняти-об’єкт | порівняти, діф | Порівняє два набори об’єктів. |
Група-об’єкт | групи | Групуйте об’єкти, які містять однакове значення для вказаних властивостей. |
Invoke-WebRequest | завити, iwr, wget | Отримує вміст із веб-сторінки в Інтернеті. |
Міра-об’єкт | міра | Обчислює числові властивості об’єктів, символи, слова та рядки в рядкових об’єктах, таких як файли… |
Розв’язати-Шлях | рвпа | Розв’язує символи підстановки на шляху та виводить вміст контуру. |
Резюме-робота | rujb | Відновлює роботу, що припиняється |
Набір змінних | набір, св | Встановлює значення змінної. Створює змінну, якщо такої із запитаним іменем не існує. |
Шоу-командування | шсм | Створює команди Windows PowerShell у графічному вікні команд. |
Сортувати-Об’єкт | сортувати | Сортуйте об’єкти за значеннями властивостей. |
Старт-сервіс | сасв | Запускає одну або кілька зупинених служб. |
Старт-процес | соки, почати | Запускає один або кілька процесів на локальному комп’ютері. |
Призупинити роботу | sujb | Тимчасово зупиняє завдання робочого процесу. |
Зачекайте-робота | wjb | Пригнічує командний рядок, поки одне або всі фонові завдання Windows PowerShell, що виконуються в сеансі,… |
Де-об’єкт | ?, де | Вибирає об’єкти з колекції на основі їх значень властивостей. |
Запис-вихід | відлуння, пишіть | Надсилає вказані об’єкти наступній команді в конвеєрі. Якщо команда є останньою командою в конвеєрі,… |
Ось наша PDF-версія PowerShell Cheat Sheet. Клацніть на зображення нижче, щоб відкрити PDF на окремій вкладці браузера, яку можна зберегти та використовувати як швидку довідку.
Чит-лист PowerShell (PDF)
Як користуватися PowerShell
PowerShell ідеально підходить для корпоративних адміністраторів, які виконують складні операції з управління у великих корпоративних мережах. Замість того, щоб збирати інформацію про сотні різних серверів і служб вручну (що зайняло б тривалий час), ви можете просто запустити скрипт на PowerShell, щоб автоматично повернути вам інформацію.
Взагалі PowerShell є найбільш корисним для користувачів, які мають попередній досвід роботи з командними рядками. Щоб використовувати PowerShell, ви можете запускати різні командлети, сценарії, виконувані файли та .NET класи. Для цілей цієї статті ми головним чином зосередимось на командлетах та скриптах, щоб допомогти вам зрозуміти основи.
В Udemy є ряд найкращих рейтингів курсів з PowerShell, які можуть вам бути корисними.
PowerShell vs командний рядок
Для багатьох користувачів PowerShell є кращою альтернативою командного рядка. Причина в тому, що у нього просто більше кінських сил. Одна з найбільших відмінностей полягає в тому, що PowerShell використовує командлети, а не команди. Cmdlets розміщують управління реєстром та інструментом управління Windows в межах досяжності користувачів. Навпаки, командний рядок обмежується набагато більш простими командами.
Існує деякий кроссовер у синтаксисі між двома платформами, оскільки PowerShell прийме такі команди командних рядків, як ipconfigtocd. Однак вони відомі як псевдоніми, а не командлети. Ще одна ключова відмінність полягає в тому, що PowerShell зосереджений на об’єктах. Кожен фрагмент даних, що виводиться з командлету, є об’єктом, а не текстом. Це полегшує користувачеві орієнтацію на складні дані. Включення .NET Framework також дозволяє сценаріям PowerShell використовувати .NET-інтерфейси. Коротше кажучи, PowerShell – це командний рядок на стероїдах.
Завантаження PowerShell
Перш ніж ми поглибимося в основи використання PowerShell, спочатку потрібно отримати доступ до основного інтерфейсу. Якщо ви користувач Windows 10, тоді ви вже будете мати доступ до PowerShell 5. Користувачі Windows 8-8.1 мають доступ до PowerShell 4, але якщо ви перебуваєте в Windows 7, вам потрібно буде встановити його в .NET рамки. У всіх операційних системах PowerShell пропонує два різних інтерфейси.
Більш досконалим є інтегроване сценарійне середовище, яке діє як всеосяжний графічний інтерфейс для досвідчених користувачів. Основна альтернатива – консоль PowerShell, яка забезпечує командний рядок для введення користувачем своїх команд. Початківцям рекомендується дотримуватися останнього, поки вони не вивчать основи PowerShell.
Для того, щоб запустити PowerShell в Windows 10, вам потрібно бути адміністратором. Увійдіть як адміністратор, натисніть Старт, і прокручуйте свої додатки, поки не знайдете Windows PowerShell. Клацніть правою кнопкою миші та виберіть Запустити від імені адміністратора. У Windows 8.1 просто знайдіть PowerShell у вашому Система папку. Так само в Windows 7 за замовчуванням для PowerShell є каталог Аксесуари після встановлення програми.
Як запустити Cmdlets
У двох словах, командлет – це команда з однофункціональною функцією. Ви вводите командлети в командний рядок так само, як це було б із традиційною командою чи утилітою. Cmdlets є основним способом взаємодії з CLI. У PowerShell більшість командлетів записується на C # і складається з інструкцій, призначених для виконання функції, яка повертає об’єкт .NET.
У PowerShell можна використовувати понад 200 cmdlets. Командний рядок Windows PowerShell не відрізняється від регістру, тому ці команди можна вводити у верхньому або нижньому регістрі. Основні командлети наведені нижче:
- Get-Location – Отримайте поточний каталог
- Встановити місцеположення – Отримайте поточний каталог
- Переміщення-предмет – Перенесіть файл на нове місце
- Копія-елемент – Скопіюйте файл на нове місце
- Перейменуйте – елемент Перейменуйте існуючий файл
- Новинка – Створіть новий файл
Для повного переліку доступних вам команд скористайтеся командлетом Get-Command. У командному рядку ви введете наступне:
PS C: \> Get-Command
Важливо зауважити, що Microsoft обмежує користувачів використовувати користувальницькі командлети PowerShell у своїх налаштуваннях за замовчуванням. Для того, щоб використовувати командлети PowerShell, вам потрібно змінити ВиконанняПолітика з Обмежений до RemoteSigned. Віддалений підпис дозволить запускати власні сценарії, але зупинить неподписані сценарії від інших користувачів.
Щоб змінити політику виконання, введіть таку команду PowerShell:
PS C: \> Set-ExecutionPolicy
Щоб змінити на RemoteSigned, введіть таку команду:
PS C: \> Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
Переконайтеся, що ви в обліковому записі адміністратора, щоб мати дозвіл на встановлення нової політики виконання.
Як запускати сценарії
Процеси та команди на основі сценаріїв є частиною основи універсальності PowerShell. У PowerShell сценарій є по суті текстовим файлом із розширенням ps1 у своєму імені. Щоб створити новий сценарій, ви можете просто відкрити блокнот Windows, ввести свої команди та зберегти за допомогою “.ps1” в кінці імені.
Для запуску сценарію введіть його папку та ім’я файлу у вікно PowerShell:
PS c: \ powershell \ mynewscript.ps1
Щойно ви зробите це, вибраний сценарій запуститься.
Шукаєте створити власні сценарії PowerShell? Майже 5 тис. Студентів пройшли цей курс Udemy з розширеного сценарію з PowerShell.
Перекриття командами Windows
Коли ви не новачок у PowerShell, ви можете переконатись у вивченні цілої нової бібліотеки команд. Однак більшість нових користувачів не усвідомлює, що синтаксис, використаний у командному рядку Windows, перекривається з PowerShell. Це полегшується тим, що PowerShell не відрізняється від регістру.
Так само, як і командний рядок, в PowerShell команда cd все ще змінює каталоги, а dir надає список файлів у вибраній папці. Тому важливо пам’ятати, що ви не обов’язково починаєте з нуля. Якщо взяти це на борт, це допоможе зменшити криву навчання, з якою ви стикаєтесь при використанні PowerShell, та зменшить кількість нових команд, які вам доведеться вивчити.
Зважаючи на це, важливо зазначити, що вони не вважаються повноцінними командами PowerShell настільки, як вони псевдонімами (ім’я Powershell для командних команд Windows. Тож хоч ви можете спробувати деякі команди командного рядка в PowerShell, вам слід дізнатися скільки нового про нові. Тим не менш, досвід Command Prompt безумовно може допомогти новим користувачам впоратися з PowerShell і вдаритися об землю.
Резервне копіювання бази даних SQL
Багато людей використовують PowerShell для резервного копіювання баз даних SQL. Інтерфейс командного рядка може вести повне резервне копіювання бази даних, резервне копіювання файлів та резервне копіювання журналу транзакцій. Існує багато способів резервного копіювання бази даних в PowerShell, але одним з найпростіших є використання команди Backup-SqlDatabase. Наприклад:
PS C: \> Резервне копіювання-SqlDatabase -серверна речовина “Комп’ютер \ екземпляр” – База даних “База даних центральна”
Це створить резервну копію бази даних з назвою “Databasecentral” (або ім’ям вибраної бази даних “.
Щоб створити резервну копію журналу транзакцій, слід ввести:
PS C: \> Backup-SqlDatabase -ServerInstance “Комп’ютер \ екземпляр” -Database “Databasecentral” -BackupAction Log
Це створить журнал транзакцій вибраної бази даних.
Основні команди PowerShell
Використання псевдонімів дозволить вам отримати лише поки що в PowerShell, тому важливо взяти на себе зобов’язання вивчити все, що можна зробити про власні команди PowerShell. Ми торкнулися деяких із цих питань вище, але нижче ми розберемо основні.
Отримати допомогу
Ця команда повинна бути в самому верхньому списку будь-якого нового користувача, коли мова йде про PowerShell. Команду Get-Help можна використовувати для буквального отримання допомоги з будь-якою іншою командою PowerShell. Наприклад, якщо ви знаєте ім’я команди, але ви не знаєте, що вона робить або як її використовувати, команда Get-Help надає повний синтаксис команд.
Наприклад, якщо ви хочете подивитися, як працює Get-Process, введіть:
PS C: \> Get-Help -Name Get-ProcessPS C: \> Set-ExecutionPolicy
Як зазначалося раніше в цьому посібнику, Microsoft має обмежену політику виконання, яка запобігає скриптуванню на PowerShell, якщо ви не змінюєте його. Під час встановлення політики виконання у вас є чотири варіанти:
- Обмежений – Політика виконання за замовчуванням, яка зупиняє запуск сценаріїв.
- Усі підписані – Запускатимуть сценарії, якщо вони підписані довіреним видавцем
- Віддалений підпис – Дозволяє запускати сценарії, створені локально
- Без обмежень – Політика без обмежень на виконання сценаріїв
PS C: \> Get-ExecutionPolicy
Якщо ви використовуєте PowerShell, ви не завжди можете працювати на сервері, з яким ви знайомі. Запуск команди Політика щодо використання дозволить вам побачити, яка політика активна на сервері перед запуском нового сценарію. Якщо потім ви бачите, що сервер працює над обмеженою політикою, ви можете реалізувати Set-ExecutionPolicy команда змінити його.
Get-Service
Однією з найважливіших команд є Get-Service, яка надає користувачеві список усіх встановлених в системі служб, як запущених, так і зупинених. Цей командлет можна керувати, використовуючи конкретні назви служб або об’єкти.
Наприклад, якщо ви вводили PS C: \> Get-Service, вам буде показаний перелік усіх служб на вашому комп’ютері, їхні статуси та відображувані імена.
Щоб скористатися цією командою для отримання конкретних служб, введіть: PS C: \ Get-Service “WMI *”, щоб отримати всі сервіси, що починаються з WMI.
Якщо ви хочете обмежити вихід на активних службах на своєму комп’ютері, введіть таку команду:
PS C: \ Get-Service | Де-об’єкт {$ _. Статус-екв. “Запуск”}
ConvertTo-HTML
Під час використання PowerShell, можливо, ви захочете створити звіт про інформацію, яку ви бачили. Один з найкращих способів зробити це за допомогою ConvertTo-HTML командування. Цей командлет дозволяє створювати звіти з таблицями та кольором, що може допомогти візуалізувати складні дані. Просто виберіть об’єкт і додайте його до команди. Наприклад, ви можете ввести:
Get-PSDrive | ConvertTo-Html
Це повертає масу інформації, тому корисно обмежити її файлом із командою Out-File. Кращою альтернативною командою є:
Get-PSD Drive | ConvertTo-Html | Вихідний файл -FilePath PSDrives.html
Потім це створить HTML-файл у вигляді таблиці. Наприклад:
Потім ви можете додати свої кольори та рамки для вдосконалення його подання.
Експорт-CSV (та отримання послуги)
Не менш важливою для збільшення видимості є команда Export-CSV. Це дозволяє експортувати дані PowerShell у файл CSV. По суті, ця команда створює файл CSV, що компілює всі об’єкти, які ви вибрали в PowerShell. Кожен об’єкт має свій рядок або рядок у файлі CSV. Ця команда в основному використовується для створення електронних таблиць та обміну даними із зовнішніми програмами.
Для використання цієї команди введіть:
PS C: \> Get-Service | Export-CSV c: \ service.csv
Важливо пам’ятати, що не форматувати об’єкти перед запуском команди Export-CSV. Це відбувається тому, що форматування об’єктів призводить до того, що у файл CSV розміщуються лише відформатовані властивості, а не самі вихідні об’єкти. У випадку, якщо ви хочете надіслати певні властивості об’єкта до CSV-файлу, ви використовуєте Select-Object cmdlet.
Для використання Select-Object командлет, тип:
PS C: \> Get-Service | Вибір-Ім’я об’єкта, стан | Export-CSV c: \ Service.csv
Get-Process
Якщо ви хочете переглянути всі процеси, які зараз працюють у вашій системі, Get-Process команда дуже важлива. Щоб отримати список усіх активних процесів на вашому комп’ютері, введіть:
PS C: \ Get-Process
Зауважте, що якщо ви не вкажете жодних параметрів, ви отримаєте розбиття кожного активного процесу на своєму комп’ютері. Щоб вибрати конкретний процес, звузьте результати за назвою процесу або ідентифікатором процесу та комбінуйте його з Формат-список командлет, який відображає всі доступні властивості. Наприклад:
PS C: \ Get-Process windowrd, Explorer | Формат-список *
Це забезпечує вам всебічний контроль за всіма активними процесами.
Get-EventLog
Якщо ви хочете отримати доступ до журналів подій (або журналів на віддалених комп’ютерах) під час використання PowerShell, вам знадобиться Get-EventLog командування. Цей командлет працює лише в класичних журналах подій, тому вам знадобляться Get-WinEvent команда для журналів пізніше, ніж Windows Vista.
Для запуску команди журналу подій введіть:
PS C: \> Get-EventLog -Список
Це покаже всі журнали подій на вашому комп’ютері.
Однією з найпоширеніших причин, яку користувачі переглядають журнали подій, – це бачити помилки. Якщо ви хочете бачити події помилок у своєму журналі, просто введіть:
PS C: \> Помилка Get-EventLog -LogName System -EntryType
Якщо ви хочете отримати журнали подій з декількох комп’ютерів, вкажіть, які пристрої ви хочете переглянути (перелічені нижче як “Server1” та “Server2”). Наприклад:
PS C: \> Get-EventLog – Ім’я для входу “Windows PowerShell” -ComputerName “локальний комп’ютер”, “Server1”, “Server2”.
Параметри, за допомогою яких можна шукати журнали подій, включають:
- Після – Користувач вказує дату та час, і командлет знайде події, що відбулися після
- AsBaseObject – Надає System.Diagnostics.EventLogEntry для кожної події
- AsString – Повертає висновок у вигляді рядків
- До цього – Користувач вказує дату і час, і командлет буде знаходити події, що відбувалися раніше
- ComputerName – використовується для позначення віддаленого комп’ютера
- EntryType – Вказує тип входу подій (помилка, аудит збоїв, аудит успіху, інформація, попередження)
- Покажчик – Вказує значення індексу, з якого командлет знаходить події
- Список – надає список журналів подій
- UserName – Вказує імена користувачів, пов’язані з певною подією
Стоп-процес
Під час використання PowerShell нечасто спостерігається процес заморожування. Щоразу, коли це відбувається, ви можете використовувати Get-Process щоб отримати назву процесу, що зіткнувся з труднощами, а потім зупинити його на Стоп-процес командування. Як правило, ви припиняєте процес за його назвою. Наприклад:
PS C: \> Stop-Process – Назви «блокнот»
У цьому прикладі користувач припинив Блокнот за допомогою команди Stop-Process.
PowerShell: Потужний інтерфейс командного рядка
Хоча перехід до PowerShell може здатися досить складним, інтерфейс командного рядка працює так само, як і будь-який інший. У нього можуть бути власні унікальні командлети, але безліч інтернет-ресурсів може допомогти вам у вирішенні будь-яких адміністративних завдань. Щоб максимально використати PowerShell, вам просто потрібно звикнути до безлічі доступних вам команд.
Як нового користувача, його легко заполонити командлетами PowerShell на 200 і більше. Переконайтеся, що ви починаєте з інтерфейсу командного рядка, перш ніж перейти на повноцінний графічний інтерфейс. Незалежно від того, ви новачок в інтерфейсах PowerShell або командного рядка, в Інтернеті доступно більше, ніж достатньо інформації, яка допоможе вам максимально використати цей потужний інструмент.