2016-07-07 2 views
3

Как получить переменную, экспортированную из моего модуля после импорта?Как получить экспортированную переменную из модуля?

# in mymodule.psm1 
$myVar = New-Object VarClass 
#assume a function or two here. 
Export-Modulemember -Function * -Variable * 

# in myScript.ps1 after module import 
# how do I reference this variable? 
$myScriptVar = $myVar 

Извините за основной вопрос, я не могу найти примеров по этой простой проблеме.

+0

Я не знаю, работает ли '-Variable *''; это может быть опасно, что со всеми автоматическими переменными. Не могли бы вы попробовать '-Variable myVar'? – briantist

+0

Пробовал это уже с помощью 'Export-Modulemember -Function myFunc -Variable myVar' – TacoMaster6000

+0

Хм, это интересно, может быть, это он: http://stackoverflow.com/q/8001496/3905079 – briantist

ответ

2

При экспорте данных необходимо явно указать функции и переменных в командлете модуля export module. Моя проблема заключалась в том, что у меня были функции.

От powershell documentation:

Если вы хотите экспортировать переменную в дополнение к экспорту в функции в модуле, команда Export-ModuleMember должна включать в себя имена всех функций и имя от переменной.

В этом случае я должен иметь следующий в моем модуле:

Export-Modulemember -Function Verb-Noun -Variable myVar 

я застрял, потому что то же самое верно и в манифесте, вы не можете использовать маску, если вы экспорт обоих.

# Functions to export from this module 
FunctionsToExport = 'Verb-Noun' 

# Variables to export from this module 
VariablesToExport = 'myVar' 
Смежные вопросы