出于脚本可移植性的原因,我需要在PowerShell脚本中动态加载管理单元。这可以在PowerShell v2中使用Load-Module
函数轻松完成。我需要在一台机器上运行这个特定的脚本,由于各种原因,我不想安装PowerShell v2,而是使用v1。
PowerShell v1中是否有Load-Module
个等效项?
答案 0 :(得分:3)
你的意思是Import-Module
?如果是这样,那么它取决于模块的定义方式。如果是snapin DLL,则需要在V1计算机上安装管理单元,然后使用Add-PSSnapin
。如果它位于.psm1
文件中,那么您需要将文件重命名为.ps1
,然后您可以尝试点源它,例如. .\mymodule.ps1
。但是,如果它使用任何v2功能,如Export-ModuleMember,则需要对其进行注释。并且v1不知道如何处理.psd1
文件。
答案 1 :(得分:1)
Import-Module
加载模块,模块是V2唯一功能。
PowerShell V1有“Snap-ins”,用.NET语言编写(C#,VB,...)但不是PowerShell脚本,并加载到Add-PSSnapin
的会话中(同时支持管理单元) V2,但模块具有管理单元功能的超集,因此坚持使用模块,除非无法升级到V2)。