Преодоление ограничения пространства имен Powershell для глобального сценария - PullRequest
1 голос
/ 13 июля 2011

Как я могу создать пространства имен или «провайдеров» в скрипте без написания C # или использования чего-либо, чего еще нет в Windows Box?- С другой стороны, могу ли я ссылаться на переменные в скрипте по имени скрипта, из которого я их поставил?Я хочу избежать столкновений при точечной загрузке сгенерированного скрипта PoSH.Командлет Set-Variable не дает никаких подсказок относительно того, где искать дальше, возможно, существует ли командлет для создания провайдеров со всей инфраструктурой, созданной для вас?В настоящее время я использую «глобальный» (ick) список переменных для отслеживания всех значений, которые я определяю, в основном я пытаюсь создать библиотеку, и в этом случае библиотека предоставляет значения / константы данных.

1 Ответ

2 голосов
/ 13 июля 2011

Вы можете проверить $ myinvocation в вызываемом скрипте, чтобы найти имя скрипта.

Похоже, вы могли бы реализовать своего рода псевдо-пространство имен в главном скрипте, превратив свой список переменных в хеш-таблицу из хеш-таблиц, и тогда каждое значение будет упоминаться в основном скрипте как $ vars.scriptname.scriptvariable.

...