我目前正在编写一个Powershell模块,可用于控制一些智能灯泡。 API的要求是我为每个请求提供授权令牌。我目前有一个cmdlet Set-AuthorizationToken
,它设置一个$Script:
范围变量来存储此标记。
目前我创建的所有设置功能都存在于同一个灯光自动化模块中。我想将设置逻辑分离到自己的模块中,以便可以重复使用。
这是我遇到麻烦的地方。据我所知,如果我将设置逻辑拉入其自己的模块,那么我将无法再使用$Script:
范围,因为它将与使用设置模块的任何模块共享。此外,我必须重构当前的设置功能,以提供某种标识符,以便设置模块可以查找调用者的正确设置。
我是否有某种方法可以创建设置模块以便我可以重复使用它,但是可以以允许它只知道加载它的模块的方式加载它?也许像某种“图书馆”?我不想将ps1文件复制到每个模块中,但目前这似乎是最好的方式。
答案 0 :(得分:2)
处理此问题的典型方法似乎是将您的凭据存储为文件中的加密字符串,然后具有加载这些凭据的功能。
例如:https://github.com/RamblingCookieMonster/PSSlack/blob/master/PSSlack/Public/Get-PSSlackConfig.ps1