我正在运行Win7 Enterprise。
我的目标是使用带有Powershell 2.0和PowerGUI的webadministration Powershell模块。
模块正常工作,但下次启动PowerGUI时会出错。
以下是重现问题的步骤:
1)打开PowerGUI 3.1.0.2058。
2)为IIS安装“webadministration”模块。
我可以使用PowerGUI中的Import-Module cmdlet或“File> Powershell Libraries”菜单项执行此操作。
没关系。无论如何,我得到了相同的结果。
3)网络管理模块按预期工作。
4)退出PowerGUI。
5)打开PowerGUI。
我得到一长串错误消息,似乎表明网络管理导致了与自身的名称冲突。
示例:
Import-Module:术语'Microsoft.IIS.PowerShell.Provider \ Start-WebCommitDelay'解析为不明确的cmdlet名称。可能的匹配包括:Microsoft.IIS.PowerShell.Provider \ St art-WebCommitDelay Microsoft.IIS.PowerShell.Provider \ Start-WebCommitDelay。 在行: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之前必须卸载模块?
我尝试过与Microsoft的ISE相同的一组步骤(不要使用Remove-Module),我没有遇到任何问题。
PowerGUI在哪里记得导入?我认为Import-Module只是每个Powershell sesssion。
请赐教。
谢谢!
Adam Leffert http://www.leffert.com答案 0 :(得分:0)
要检查的一些事项:
PowerGUI文件菜单中的配置文件脚本,当前用户和所有用户。
转到文件/ PowerShell库并确保它没有在那里签到。
同样在Tools / Options / Debug选项下,选择重置PowerShell运行空间并取消选中加载配置文件。
答案 1 :(得分:0)
两个配置文件都是空的。
我按照你的描述设置了Debug选项。
如果我只使用“文件> Powershell库”菜单并且不使用命令行导入模块,则PowerGui仍然无法与web管理模块一起正常工作。
步骤:
1)打开PowerGui(PG)。
2)检查PS Libraries对话框中的“webadministration 1.0.0”模块。
单击“确定”关闭对话框。
webadministration模块已加载并正常运行。
3)退出PG。
4)再次打开PG。
一切看起来都很好(但事实并非如此)。
5)退出PG。
6)再次打开PG。
PG无法导入模块并抛出错误。
如果您在第4步和第5步之间查看“文件> Powershell库”对话框,这种失败是有道理的。
执行此操作时,您会看到虽然您只检查了“webadministration”模块,但当您查看步骤4和5之间的此对话框时,您将看到此模块和
“Microsoft.IIS.Powershell.Provider”模块都已经过检查。
要解决此问题,您可以在步骤2中检查“Microsoft.IIS.Powershell.Provider”而不是“webadministration”。
如果这样做,PG正常工作。
非常感谢让我走上正确的道路。
我有点好奇为什么“webadministration”不起作用,但我当然可以使用正常工作的模块。