我想在使用PowerShell模块Az时使用隐式导入。这个模块有相当多的子模块,由于时间的原因,我不想在脚本开始时导入特定的版本。脚本将在不受我控制的代理上运行,因此可能会在我不知道的情况下安装较新的Az模块。如果是这样的话,我的脚本应该仍然使用隐式导入的旧版本。但我没有找到以这种方式加载旧版本的方法。总是通过隐式导入来使用最新版本。然后,我可以通过导入旧版本来覆盖它(如下例所示),但这正是我不想做的。
PS > Get-Module Impl*
PS > GetImplicitValue()
Implicit Importing from V2
PS > Get-Module Impl*
ModuleType Version PreRelease Name ExportedCommands
---------- ------- ---------- ---- ----------------
Script 2.1.2 ImplicitlyImporting GetImplicitValue
PS > Import-Module ImplicitlyImporting -Force -RequiredVersion 1.0.2
PS > GetImplicitValue()
Implicit Importing from V1
PS > Get-Module Impl*
ModuleType Version PreRelease Name ExportedCommands
---------- ------- ---------- ---- ----------------
Script 1.0.2 ImplicitlyImporting GetImplicitValue
Script 2.1.2 ImplicitlyImporting GetImplicitValue
有什么主意吗?先谢谢你。
1条答案
按热度按时间hfyxw5xn1#
IMPLICIT表示导入最新版本,因此您不希望在可能需要旧版本时隐式导入。
您可以通过指定所需的子模块来缩短导入
Az
模块的时间:否则,您可以检查并显式指定要加载的版本:
正如您在答案here中看到的,您必须ex隐式导入模块或其命令才能使用特定版本