Definiowanie modułów w programie PowerShell
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\ModulesC:\Program Files\PowerShell\ModulesC:\Program Files\PowerShell\7\ModulesC:\Program Files\WindowsPowerShell\ModulesC:\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.