Я не думаю, что это возможно, как вы хотите это сделать. Как бы я справился с этим, у меня есть файл PS1 в вспомогательном модуле, который содержит все скрытые команды, но не загружает его как часть вспомогательного модуля. Затем в модулях, которые зависят от него, просто укажите источник источника PS1, и он будет импортировать все сценарии для его использования.
Например, в модуле требующем вспомогательный модуль:
. $PSScriptRoot\..\HelperModule\HelperModuleInternal.ps1
Очевидно заменить HelperModule и HelperModuleInternal с именем хелперов модуля и скрытых команд ps1 файла соответственно. Обратите внимание, что если вы сделаете файл psm1, это просто откроет ISE.
Я не уверен, но он все равно может попытаться экспортировать скрытые команды, если это так, я прочитал аккуратный трюк, связанный с этим. Вызовите все опубликованные команды обычным синтаксисом Verb-Noun
, а в конце введите Export-ModuleMember -Function "*-*"
. Затем для ваших внутренних команд используйте именование, которое не соответствует этому, например Verb_Noun
или VerbNoun
. Очень аккуратно.
Когда вы говорите, что доступно для повторного использования в коде, вы имеете в виду код в модуле, скрипт, внешний для модуля, отдельный модуль? –
Мне нужно использовать определенные функции в отдельных модулях, не делая эти функции доступными для пользовательской консоли. – SokIsKedu