打破全局脚本的Powershell命名空间限制

时间:2011-07-13 07:43:02

标签: variables powershell scope provider

如何在脚本中创建名称空间或“提供程序”而无需编写任何C#,或使用Windows Box中尚未包含的任何内容? - 换句话说,我可以通过脚本名称来引用脚本中的变量吗?我想在点源生成的PoSH脚本时避免冲突。 Set-Variable cmdlet没有提供关于下一步查找的任何线索,是否可能有一个cmdlet来创建提供程序,并为您完成所有框架?目前我使用“全局”(ick)变量列表来跟踪我定义的所有值,基本上我正在尝试构建一个库,在这种情况下,库提供数据值/常量。

1 个答案:

答案 0 :(得分:2)

您可以在被调用脚本中检查$ myinvocation以查找脚本名称。

听起来你可以通过使你的变量列表成为哈希表的哈希表来在主脚本中实现一种伪命名空间,然后在主脚本中将每个值引用为$ vars.scriptname.scriptvariable。