Definiowanie modułów w programie PowerShell

Ukończone

Moduły to grupy powiązanych funkcji programu PowerShell, które są połączone w jedną jednostkę. Na potrzeby tej klasy można traktować je jako kontenery obsługujące wiele poleceń cmdlet. Moduły ułatwiają organizowanie poleceń cmdlet w jednostki dystrybucyjne. Firma Microsoft i inne firmy zajmujące się oprogramowaniem udostępniają moduły w ramach narzędzi do zarządzania dla swoich aplikacji i usług.

Listę dostępnych modułów można sprawdzić, uruchamiając następujące polecenie:

Get-Module -ListAvailable

Aby używać poleceń cmdlet modułu, moduł musi zostać załadowany do bieżącej sesji programu PowerShell. Zwykle odbywa się to automatycznie, ale w zależności od konfiguracji może wymagać jawnego załadowania modułów przez uruchomienie polecenia cmdlet Import-Module . Niektóre produkty serwerowe, takie jak Microsoft Exchange Server, zawierają skrót do tego, co wydaje się być dedykowanym shellem zarządzającym. Jest to jednak naprawdę normalna sesja konsoli programu PowerShell z już załadowanymi modułami specyficznymi dla aplikacji.

Automatyczne ładowanie

W programie Windows PowerShell w wersji 3.0 i nowszej moduły są ładowane automatycznie, jeśli uruchomisz polecenie cmdlet będące częścią tego modułu. Działa to, jeśli moduł zawierający polecenie cmdlet znajduje się w folderze w ścieżkach ładowania modułu. Domyślnie te foldery obejmują %systemdir%\WindowsPowerShell\v1.0\Modules i %userprofiles%\Documents\WindowsPowerShell\Modules. Lista folderów jest przechowywana w zmiennej środowiskowej $env:PSModulePath. Podczas jawnego importowania modułu według nazwy program PowerShell sprawdza lokalizacje, do których odwołuje się ta zmienna środowiskowa.

W przypadku programu PowerShell 7 moduł PSModulePath zawiera następujące lokalizacje:

  • C:\Users\<user>\Documents\PowerShell\Modules
  • C:\Program Files\PowerShell\Modules
  • C:\Program Files\PowerShell\7\Modules
  • C:\Program Files\WindowsPowerShell\Modules
  • C:\WINDOWS\System32\WindowsPowerShell\v1.0\Modules

Notatka

W przypadku korzystania z programu Windows PowerShell ścieżka %systemdir%\WindowsPowerShell\v1.0\Modules jest często określana przy użyciu kombinacji $PSHome zmiennej środowiskowej (która wskazuje %systemdir%\WindowsPowerShell\v1.0) i ścieżki modułów (czyli przy użyciu $PSHome\Modules notacji). W przypadku programu PowerShell 7.0 zmienna $PSHome środowiskowa odwołuje się do C:\Program Files\PowerShell\7.