Jeśli jakieś polecenie cmdlet lub funkcje wykonuje się powtarzalnie z identycznymi wartościami parametrów to można np. owinąć ją w swoją funkcję lub skorzystać z zmiennej preferencji $PSDefaultParameterValues
. Wykorzystanie drugiej opcji spowoduję ustawienie nowych domyślnymi wartości parametrów dla określonych przez nas poleceń.
Na przykład Get-Service
z nowymi domyślnymi parametrami zwróci wszystkie usługi z serwera dbtest-01
, które posiadają w nazwie sql
.

Jak to zrobić?
Wystarczy zdefiniować hash table
, którą zapiszemy do wcześniej wspomnianej zmiennej $PSDefaultParameterValues
. Klucze takiej tablicy muszą mieć odpowiedni format. W kluczu podajemy nazwę polecenia, nazwę parametru i oddzielamy je dwukropkiem :
Same wartości dla kluczy to wartości naszych nowych domyślnych parametrów, która może być stałym ciągiem lub kawałek skryptu.
Co wartę uwagi to wykorzystanie znaków wieloznacznych w kluczach dla nazw poleceń i nazw parametrów. W ten sposób możliwe jest zdefiniowanie np. dla wszystkich poleceń Remove*
przełącznika Confirm
.
Aby zmienić, dodać lub usunąć wpisy z $PSDefaultParameterValues
, używa się standardowych metod jak do edycji normalnych hash table

Aby nowe wartości domyślne nie były gubione po zamknięciu konsoli dodaj je do swojego profilu.

Mateusz Nadobnik
Z pasją poświęcam czas na zdobywanie wiedzy w zakresie szeroko rozumianej Data Platform. Zachwycony językiem skryptowym Windows PowerShell. Swoją wiedzę, doświadczenia i spostrzeżenia opisuję na blogu.
read more