Як використовувати параметри PowerShell за замовчуванням для зміни поведінки команд

Як використовувати параметри PowerShell за замовчуванням для зміни поведінки команд

Багато людей люблять використовувати PowerShell , оскільки він дозволяє їм робити речі, які неможливо зробити за допомогою графічного інтерфейсу Windows. Незважаючи на це, не можна заперечувати, що деякі командлети PowerShell можуть бути трохи нудними або складними. Але що, якби був спосіб редагувати ці командлети та змусити їх «вести себе» так, як вам потрібно? Вірте чи ні, але є простий спосіб зробити це. Ви можете змінити поведінку командлета, змінивши значення параметрів PowerShell за замовчуванням. Ця стаття покаже вам, як використовувати параметри PowerShell за замовчуванням для зміни поведінки команди cmdlet.

УВАГА

Перш ніж розпочати, вам слід пам’ятати про кілька речей. Хоча змінювати параметри PowerShell за замовчуванням і поведінку cmdelt зручно, це може призвести до проблем. Якщо ви запускаєте сценарій і цей сценарій передбачає, що змінений командлет поводитиметься певним чином, ви можете отримати непередбачувані результати. Тому вам слід ретельно змінювати параметри PowerShell за замовчуванням.

Швидкий огляд

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

Друга концепція, з якою ви можете бути знайомі, це хеш-таблиця. Хеш-таблиця — це, по суті, список, що складається з пар ключ/значення. Наприклад, припустімо, що ви хочете створити хеш-таблицю, що містить назви штатів США та їхні абревіатури. Нижче наведено код:

$StateList = @{}
$StateList.add('Флорида','FL')
$StateList.add('Південна Кароліна','SC')
$StateList.add('Джорджія','GA')
$StateList

Перший рядок коду створює порожню хеш-таблицю під назвою $StateList . Наступні три рядки додають записи до таблиці. Кожен запис складається з ключа (назва стану) і значення (абревіатура стану). В останньому рядку міститься список вмісту таблиці. Ви можете побачити код у дії на зображенні нижче.

Це лише дуже простий приклад, і є багато інших способів використання хеш-таблиць.

Робота з параметрами PowerShell за замовчуванням

PowerShell має вбудовану змінну, яка використовується для зберігання параметрів за замовчуванням, які використовуються з командлетами. Ця змінна називається $PSDefaultParameterValues ​​​​. Як ви могли помітити з початкового вступу та назви змінної, це не звичайна змінна, а хеш-таблиця. Однак якщо ви введете назву змінної в PowerShell, ви швидко побачите, що таблиця порожня, як показано нижче.

Як використовувати параметри PowerShell за замовчуванням для зміни поведінки команд

Отже, що ми можемо зробити з цією змінною $PSDefaultParameterValues ​​​​. Як згадувалося вище, ви можете контролювати поведінку командлетів PowerShell. Єдине, що ви не можете подолати властиві можливості команди cmdlet. Отже, давайте розглянемо приклад.

Можливо, цей приклад вам не захочеться використовувати в реальному житті, але він покаже вам, як легко кардинально змінити поведінку командлета. Якщо ви введете командлет Get-TimeZone у PowerShell, ви побачите назву часового поясу, який зараз налаштовано на використання вашого ПК. Ви можете побачити цей приклад на зображенні нижче.

Як використовувати параметри PowerShell за замовчуванням для зміни поведінки команд

Тепер ми змінюємо цей командлет, щоб він не відображав часовий пояс, налаштований на використання системою, а замість нього відображав доступні часові пояси. Для цього нам потрібен синтаксис командлета за допомогою командлета Get-Help, а потім командлета Get-TimeZone . Ви можете побачити синтаксис командлета нижче.

Як використовувати параметри PowerShell за замовчуванням для зміни поведінки команд

Цей синтаксис містить параметр під назвою ListAvailable . Введіть команду нижче:

$PSDefaultParameterValues.Add(“Get-TimeZone:ListAvailable”,$True)

Перша частина цієї команди просто повідомляє PowerShell, що ви хочете додати значення до хеш-таблиці, як ми зробили з абревіатурою штату США в попередньому розділі. Ця хеш-таблиця містить пару ключ/значення. У цьому випадку ключ — це ім’я командлета (Get-TimeZone), за яким іде кома та ім’я параметра, який потрібно встановити. У цьому випадку ім'я параметра - ListAvailable. Друга частина цього командлета — це значення, яке потрібно призначити параметру. Ось це $True . Параметр ListAvailable зазвичай не потребує значення, тому вказуючи $True, ви вказуєте PowerShell використовувати цей параметр без призначення йому значення.

Якщо ви подивіться на зображення нижче, ви побачите, що відбувається, коли ви запускаєте командлет Get-TimeZone.

Як використовувати параметри PowerShell за замовчуванням для зміни поведінки команд

Речі, про які слід пам’ятати

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

Інша річ, яку вам потрібно знати, це те, що спеціальні параметри за замовчуванням можна видалити. Щоб видалити окремий елемент, скористайтеся командою $PSDefaultParameterValues.Remove , а потім ім’ям елемента, який потрібно видалити. Наприклад:

$PSDefaultParameterValues.Remove(“Get-TimeZone:ListAvailable”)

Замість цього ви можете видалити весь вміст хеш-таблиці за допомогою цієї команди:

$PSDefaultParameterValues.Clear();

Ви можете побачити приклади обох технік нижче:

Як використовувати параметри PowerShell за замовчуванням для зміни поведінки команд

Ви можете видалити всю хеш-таблицю або окремий запис.

Зміна стандартної поведінки команди cmdlet — це те, що ви робите не часто, але коли це потрібно, ви вже знаєте, як це змінити.

Бажаю успіхів!

Побачити більше:


Як виправити У вас немає дозволу на збереження в цьому місці в Windows

Як виправити У вас немає дозволу на збереження в цьому місці в Windows

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

Топ найкращих безкоштовних і платних програм Syslog Server для Windows

Топ найкращих безкоштовних і платних програм Syslog Server для Windows

Сервер Syslog є важливою частиною арсеналу ІТ-адміністратора, особливо коли мова йде про централізоване керування журналами подій.

Що таке помилка 524 Стався тайм-аут і як виправити помилку

Що таке помилка 524 Стався тайм-аут і як виправити помилку

Помилка 524: Виник тайм-аут – це специфічний для Cloudflare код статусу HTTP, який вказує на те, що з’єднання із сервером закрито через тайм-аут.

Що таке помилка 0x80070570? Як виправити цю помилку?

Що таке помилка 0x80070570? Як виправити цю помилку?

Код помилки 0x80070570 є поширеним повідомленням про помилку на комп’ютерах, ноутбуках і планшетах під керуванням операційної системи Windows 10. Однак він також з’являється на комп’ютерах під керуванням Windows 8.1, Windows 8, Windows 7 або раніших версій.

Інструкції щодо виправлення помилки синього екрана PAGE FAULT IN NONPAGED AREA або STOP 0x00000050

Інструкції щодо виправлення помилки синього екрана PAGE FAULT IN NONPAGED AREA або STOP 0x00000050

Помилка «синій екран смерті» BSOD PAGE_FAULT_IN_NONPAGED_AREA або STOP 0x00000050 — це помилка, яка часто виникає після встановлення драйвера апаратного пристрою або після встановлення чи оновлення нового програмного забезпечення. У деяких випадках причиною помилки є пошкоджений розділ NTFS.

Що робити, коли ви отримуєте внутрішню помилку планувальника відео?

Що робити, коли ви отримуєте внутрішню помилку планувальника відео?

Внутрішня помилка відеопланувальника також є смертельною помилкою синього екрана, ця помилка часто виникає в Windows 10 і Windows 8.1. Ця стаття покаже вам кілька способів виправлення цієї помилки.

Як запобігти запуску Epic Launcher у Windows

Як запобігти запуску Epic Launcher у Windows

Щоб пришвидшити завантаження Windows 10 і скоротити час завантаження, нижче наведено кроки, які потрібно виконати, щоб видалити Epic із автозавантаження Windows і запобігти запуску Epic Launcher з Windows 10.

3 кращих способи збереження файлів на робочому столі

3 кращих способи збереження файлів на робочому столі

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

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

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

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

9 способів виправити випадковий вихід комп’ютера з Windows для перевірки оновлень

9 способів виправити випадковий вихід комп’ютера з Windows для перевірки оновлень

Ваш комп’ютер випадково прокидається та з’являється вікно з написом «Перевірка оновлень»? Зазвичай це пов'язано з програмою MoUSOCoreWorker.exe - завданням Microsoft, яке допомагає координувати установку оновлень Windows.