我创建了一个模块“ActiveDirectory.psm1”,其中包含powershellv5中的一个类。我将该模块导入另一个名为“test.ps1”的文件中,然后从该类中调用一个方法。
test.ps1包含以下内容:
using module '\\ser01\Shared\Scripts\Windows Powershell\modules\ActiveDirectory\ActiveDirectory.psm1'
Set-StrictMode -version Latest;
$AD = [ActiveDirectory]::New('CS');
$AD.SyncGroupMembership($True);
但是,当我对ActiveDirectory.psm1进行更改并保存所做的更改时,所有这些都可以按预期的方式工作,但不会立即反射(reflect)出来。即,如果ActiveDirectory.psm1包含:
write-verbose 'do something';
如果我将其更改为
write-verbose 'now the script does something else';
输出仍然是“做某事”
我猜它已经将模块存储在内存中,并且不会重新加载它,因此缺少我所做的更改。我需要运行什么命令来加载模块的最新保存版本?
最佳答案
根据wOxxOm的建议,请尝试Import-Module ... -Force
;如果不起作用,请尝试使用Remove-Module
明确将其删除,然后重新导入
我刚刚创建了答案,以便在解决问题后就可以将其关闭-如果wOxxOm将创建答案,则将其删除。