我正在运行 Win7 企业版。
我的目标是将 webadministration Powershell 模块与 Powershell 2.0 和 PowerGUI 一起使用。
该模块工作正常,但下次启动 PowerGUI 时出现错误。
以下是重现问题的步骤:
1) 打开 PowerGUI 3.1.0.2058。
2) 为 IIS 安装“webadministration”模块。
我可以使用 Import-Module cmdlet 或 PowerGUI 中的“文件 > Powershell 库”菜单项来执行此操作。
没关系。无论哪种方式,我都会得到相同的结果。
3) 网络管理模块按预期工作。
4) 退出 PowerGUI。
5) 打开 PowerGUI。
我收到一长串错误消息,这些消息似乎表明 webadministration 导致名称与自身发生冲突。
例子:
Import-Module :术语“Microsoft.IIS.PowerShell.Provider\Start-WebCommitDelay”解析为不明确的 cmdlet 名称。可能的匹配项包括:Microsoft.IIS.PowerShell.Provider\Start-WebCommitDelay Microsoft.IIS.PowerShell.Provider\Start-WebCommitDelay。在 line:1 char:288 + @('C:\Windows\system32\WindowsPowerShell\v1.0\Modules\webadministration\Microsoft.IIS.PowerShell.Provider.dll','C:\Windows\system32\WindowsPowerShell\v1 .0\Modules\webadministration\webadm inistration.psd1') | Where-Object { @(Get-Module | %{$ .Path} ) -notcontains $} | %{ Import-Module <<<< $_ } + CategoryInfo : ObjectNotFound: (Microsoft.IIS.P...-WebCommitDelay:String) [Import-Module], ParentContainsErrorRecordException + FullyQualifiedErrorId : CmdletNameAmbiguous,Microsoft.PowerShell.Commands.ImportModuleCommand
如果我在退出 PowerGUI 之前使用 Remove-Module 卸载 webadministration,下次启动 PowerGUI 时不会收到错误消息。
有没有规定必须在退出 PowerGUI 之前卸载模块?
我已经用微软的 ISE 尝试了相同的步骤(不要使用 Remove-Module),我没有任何问题。
PowerGUI 在哪里记住导入?我认为 Import-Module 仅适用于每个 Powershell 会话。
请赐教。
谢谢!
亚当·莱弗特 http://www.leffert.com