Як використовувати параметри 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 — це те, що ви робите не часто, але коли це потрібно, ви вже знаєте, як це змінити.

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

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


Що таке Scareware? Як видалити Scareware?

Що таке Scareware? Як видалити Scareware?

Scareware — це шкідлива комп’ютерна програма, створена для того, щоб змусити користувачів подумати, що це законна програма, і просить вас витратити гроші на те, що нічого не робить.

Як збільшити швидкість підключення до Інтернету за допомогою cFosSpeed

Як збільшити швидкість підключення до Інтернету за допомогою cFosSpeed

cFosSpeed ​​​​- це програмне забезпечення, яке збільшує швидкість підключення до Інтернету, зменшує затримку передачі та збільшує міцність з'єднання приблизно в 3 рази. Спеціально для тих, хто грає в онлайн-ігри, cFosSpeed ​​​​буде підтримувати, щоб ви могли випробувати гру без проблем з мережею.

Дізнайтеся про брандмауери, брандмауер Windows у Windows Server 2012

Дізнайтеся про брандмауери, брандмауер Windows у Windows Server 2012

Брандмауер Windows із розширеною безпекою — це брандмауер, який працює на Windows Server 2012 і ввімкнено за замовчуванням. Параметрами брандмауера в Windows Server 2012 можна керувати в консолі Microsoft Management Console брандмауера Windows.

Як змінити пароль для входу на модем і маршрутизатор Vigor Draytek

Як змінити пароль для входу на модем і маршрутизатор Vigor Draytek

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

Як легко розігнати оперативну пам’ять за допомогою AMD Ryzen Master

Як легко розігнати оперативну пам’ять за допомогою AMD Ryzen Master

На щастя, користувачі комп’ютерів Windows із процесорами AMD Ryzen можуть використовувати Ryzen Master для легкого розгону оперативної пам’яті, не торкаючись BIOS.

7 способів виправити помилки ноутбука Windows, який не заряджається через USB-C

7 способів виправити помилки ноутбука Windows, який не заряджається через USB-C

Порт USB-C став стандартом для передачі даних, виведення відео та заряджання на сучасних ноутбуках Windows. Хоча це зручно, може бути неприємно, коли ви підключаєте свій ноутбук до зарядного пристрою USB-C, а він не заряджається.

Як виправити помилку Cannot Create Service в Ultraviewer

Як виправити помилку Cannot Create Service в Ultraviewer

Помилка «Неможливо створити службу» в Ultraviewer виникає, коли ми встановлюємо програмне забезпечення з кодом помилки 1072.

Як виправити помилку невідображення ідентифікатора в Ultraviewer

Як виправити помилку невідображення ідентифікатора в Ultraviewer

Помилка невідображення ідентифікатора в Ultraviewer вплине на підключення до віддаленого комп’ютера.

Як використовувати Ultraviewer для надсилання та отримання файлів

Як використовувати Ultraviewer для надсилання та отримання файлів

Ultraviewer дистанційно керує комп'ютером і має режим надсилання та отримання файлів.

Що таке Packet Sniffer?

Що таке Packet Sniffer?

Хакери можуть використовувати Sniffer для підслуховування незашифрованих даних і перегляду інформації, якою обмінюються дві сторони. Щоб краще зрозуміти Packet Sniffer, а також механізм дії Packet Sniffer, ви можете переглянути статтю Wiki.SpaceDesktop нижче.