【发布时间】:2016-09-10 13:20:00
【问题描述】:
我创建了一个模块“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 进行更改并保存未立即反映的更改时。即如果 ActiveDirectory.psm1 包含:
write-verbose 'do something';
如果我把它改成
write-verbose 'now the script does something else';
输出仍然是“做某事”
我猜它已经将模块存储在内存中并且没有重新加载它,因此错过了我所做的更改。我需要运行什么命令来加载模块的最新保存版本?
【问题讨论】:
-
Import-Module ActiveDirectory -force也许?见Powershell: Editing an already imported module -
我创建了这个问题来解决
using module语句在更改模块后没有重新加载模块的问题。请竖起大拇指来投票。 github.com/PowerShell/PowerShell/issues/7654
标签: powershell powershell-5.0 powershell-module