Создание модулей в сценариях Windows PowerShell

Завершено

Можно создавать модули для хранения функций и совместного использования этих функций в различных скриптах. После добавления функций в модули они становятся обнаруживаемы так же, как и командлеты. Как и встроенные модули Windows, ваши модули также загружаются автоматически, когда требуется функция.

Примечание.

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

Примечание.

Функции в модулях могут включать справку, основанную на комментариях, которую может обнаружить Get-Help. Включите сведения справки в каждую функцию, чтобы активировать это.

Если у вас уже есть функции в файле скрипта PowerShell Windows, преобразуйте его в модуль, переименовав его с расширением файла .psm1. Структура файлов не должна изменяться.

Windows PowerShell использует переменную среды $PSModulePath для определения путей, из которых загружаются модули. В Windows PowerShell 5.1 перечислены следующие пути:

  • C:\Users\UserID\Documents\WindowsPowerShell\Modules
  • C:\Program Files\WindowsPowerShell\Modules
  • C:\Windows\System32\WindowsPowerShell\1.0\Modules

Windows PowerShell 7 включает следующие дополнительные пути:

  • C:\Users\UserID\Documents\PowerShell\Modules
  • C:\Program Files\PowerShell\Modules
  • C:\Program Files\PowerShell\7\Modules

Примечание.

Путь к области пользователя PowerShell 7 (Documents\PowerShell\Modules) отличается от пути Windows PowerShell 5.1 (Documents\WindowsPowerShell\Modules). Модули, хранящиеся в пути 5.1, не загружаются автоматически в сеансах с областью видимости пользователя PS7.

Примечание.

Если вы храните модули в C:\Users\UserID\Documents\WindowsPowerShell\Modules, они доступны только одному пользователю.

Модули не помещаются непосредственно в каталог modules . Вместо этого необходимо создать вложенную папку с тем же именем, что и файл, и поместить модуль в эту папку. Например, если у вас есть модуль с именем AdatumFunctions.psm1, он будет размещаться в C:\Program Files\WindowsPowerShell\Modules\AdatumFunctions.