Post Build PowerShell脚本不包含已安装的模块

时间:2017-10-24 19:23:27

标签: powershell cmd msbuild

我在后期构建配置中调用以下脚本:

  

%SystemRoot%\ system32 \ WindowsPowerShell \ v1.0 \ powershell.exe -NoProfile   -ExecutionPolicy RemoteSigned -file" \ Sclddev8 \ tfs \ Scripts \ slack-notice.ps1" -Verb RunAs;

但是,我一直收到这个错误:

  

Send-SlackMessage:术语' Send-SlackMessage'不被识别为名称

但我已在我的环境中安装了此模块,如果我打开PowerShell控制台或在此构建过程之外运行该文件,则可以正常工作。

2 个答案:

答案 0 :(得分:3)

安装Powershell模块时,每次打开新的Powershell窗口时,您都在技术上从配置文件导入模块。通过使用“-NoProfile”开关运行Powershell,您将阻止导入模块(即使它已“安装”且文件存在)。

如果要保持“-NoProfile”开关处于活动状态,最佳选择可能是在脚本顶部有一行来导入模块,然后再继续。如果你使用Warren Frame的“PSSlack”模块,你需要的命令是:

> Import-Module PSSlack

答案 1 :(得分:0)

我遇到了同样的问题。

有用的是...将文件夹复制到C:\Windows\SysWOW64\WindowsPowerShell\v1.0\Modules

是的,这有所作为。