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