У меня есть коллекция различных сценариев PowerShell, которые конечные пользователи могут импортировать и использовать для настройки своих систем. Сценарии разделены на основе их функциональных возможностей в общем сетевом ресурсе и могут быть обновлены для устранения проблем и добавления функциональности.
Как я могу создать один скрипт для импорта конечными пользователями, чтобы они имели доступ ко всем функциям, распределенным по коллекции скриптов?
Изначально я думал, что смогу импортировать всемодули в глобальной области видимости в одном скрипте. Тогда конечный пользователь должен был бы просто импортировать этот единственный скрипт, чтобы иметь доступ ко всем функциям в модулях. К сожалению, я получаю ошибку при импорте модуля «импортировать все».
Структура файла
- / Base
- / ScriptsType1
---- / Script1
----- / Script2
- / ScriptsType2
----- / Script3
----- / Script4
- / ImportAllScripts. psm1
Содержимое файла ImportAllScripts.psm1
Import-Module .\ScriptsType1\Script1.psm1 -Global
Import-Module .\ScriptsType1\Script2.psm1 -Global
Import-Module .\ScriptsType2\Script3.psm1 -Global
Import-Module .\ScriptsType2\Script4.psm1 -Global
Пользовательский сценарий
#Import all the scripts
Import-Module some_path\ImportAllVDIScripts.psm1
# Call a function from script 2
Run-ThatThing ("oh wow")
# Call a function from script 3
Run-ThatOtherTypeOfThing ("oh wow wow wow")
Ошибка
Import-Module: указанный модуль 'path \ ImportAllVDIScripts.psm1' не был загружен, поскольку ни в одном каталоге модулей не было найдено допустимого файла модуля.