导入模块WebAdministration从脚本不会加载,但确实在命令行
我来了到使用PowerShell
脚本生成的项目。该版本利用WebAdministration
模块来管理本地IIS实例。当我运行构建脚本时,尝试导入WebAdministration
时会引发以下错误。导入模块WebAdministration从脚本不会加载,但确实在命令行
Error: 06/29/2016 17:28:35: At C:\dev\src\nib-ravendb\build\ConfigureIis.ps1:10 char:1 + Import-Module WebAdministration + ~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~ [<<==>>] Exception: The specified module 'WebAdministration' was not loaded because no valid module file was fo und in any module directory. ERROR: 1
如何过,当我在PowerShell
命令行运行Import-Module WebAdministration
模块引入时,我可以从它使用的功能。随后运行构建脚本仍然失败。
我有IIS 7.5
和PowerShell 4
有没有人有一个想法,为什么这会导入在脚本中失败,但不是在命令行,以及如何解决它?
最后有一个问题,可能是巧克力?,将$env:PSModulePath
截断为第一个条目,这就是为什么如果我键入脚本而不是脚本中脚本正在工作的原因。
我发现它在,我是运行脚本登录$env:PSModulePath
在不同的点。
我工作围绕它通过$env:PSModulePath
重新排序项。
看一看@理查德的回答其他一些很好的建议。
对于服务器,您需要安装角色Management Tools
在Web Server (IIS)
下才能使用WebAdministration
模块。要查看您是否有可用的模块,请使用Get-Module -ListAvailable
。
对于Windows 7
到10
您需要安装在Internet Information Services
>>Web Management Tools
功能IIS Management Scripts and tools
。
您可以尝试手动查找WebAdministration
.psd1文件,然后导入它。使用$env:psmodulepath
帮助寻找您的模块都保存然后运行:
Import-Module -Name 'C:\Windows\System32\WindowsPowerShell\v1.0\Modules\WebAdministration\WebAdministration.psd1'
如果Server 2008
你可以尝试以下方法,但是这可能不是2012年的工作和向上:
Add-PSSnapin WebAdministration
注意您需要以管理员权限运行脚本以便能够使用Import-Module
或Add-PSSnapin
加载WebAdministration
模块。
也检查你有PowerShell
的执行策略设置为Unrestricted
:
Set-ExecutionPolicy unrestricted
你可能希望看到这个Question。
感谢您的回复@Richard。不幸的是,当我列出可用模块时,我安装了Web管理工具并且出现了Web管理。我甚至可以从外壳中使用它。正当我运行脚本时,它不能被导入。任何想法呢? – Klee
@Klee我用一些你可以尝试的东西更新了我的问题。 – Richard
谢谢。第一个答案可能会起作用。另外两个我已经尝试过了。最后有一个问题,可能是巧克力?,它将截断$ env:PSModulePath到第一个条目中,这就是为什么脚本在我键入时运行,但不是在脚本中。我通过重新排序$ env中的条目解决了这个问题:PSModulePath感谢您的帮助。 – Klee