无法在TFS 2015内部版本中运行PowerShell脚本时加载模块错误

时间:2019-03-15 16:33:42

标签: powershell tfs tfs2015

我有一个PowerShell脚本,用于验证是否满足某些SQL编程要求。

该脚本在TFS 2015中的Gated Build的开头运行,并且似乎已成功完成。我在脚本的末尾添加了一个Write-Host行,后面没有任何内容,并且该步骤的日志记录显示了文本,因此我知道在抛出错误之前该行已被命中。

尽管看起来一切正常,没有错误或问题,但我收到“ ObjectNotFound”异常,声称无法加载该模块。

有趣的是,它试图加载的模块是“ DOMAIN \ UserName”。正如我已经指出的,在写入日志的最后一行之后没有其他脚本。

任何人以前都曾遇到过此问题,和/或没有人知道为什么会发生这种情况吗?

1 个答案:

答案 0 :(得分:0)

所以我找出了问题所在。

我正在为源分支传递TFS变量(在这种情况下,是为门控构建创建的搁置集),但是我没有将值包装在引号中。我没有意识到的是,此实例中的源分支值由搁置集名称和与其关联的用户名组成:

例如Gated_2019-03-18_01.40.16.1334; DOMAIN \ UserName

通过不使用引号将参数引起来,我使它在分号分隔符上被分割,并且与Gated Build搁置集关联的“ DOMAIN \ UserName”被视为要加载的模块。

将论点用引号引起来后,问题就消失了。