我创建了一个模块“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将创建答案,则将其删除。

10-01 12:31