无法加载模块错误 运行 TFS 2015 构建中的 PowerShell 脚本

Module cannot be loaded error running PowerShell script in TFS 2015 build

我有一个 PowerShell 脚本,我正在使用它来验证是否满足某些 SQL 编程要求。

脚本 运行 在 TFS 2015 内的封闭构建开始时似乎已成功完成。我在脚本的最后添加了一个 Write-Host 行,后面没有任何内容,并且该步骤的日志记录显示了该文本,所以我知道在抛出错误之前正在命中该行。

尽管一切似乎都没有错误或问题地完成了,但我收到了一个 "ObjectNotFound" 异常,声称无法加载该模块。

有趣的是,它试图加载的模块是 "DOMAIN\UserName"。正如我所指出的,在写入日志的最后一行之后没有更多的脚本。

之前有没有人遇到过这个问题and/or有人知道为什么会这样吗?

所以我想通了这个问题。

我为源分支传递了一个 TFS 变量(在本例中,为门控构建创建的搁置集)但我没有将值括在引号中。我没有意识到的是,此实例中的源分支值由搁置集名称和与之关联的用户名组成:

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

由于没有将参数用引号括起来,我导致它在分号分隔符上被拆分,并且与 Gated Build 搁置集关联的 "DOMAIN\UserName" 被视为要加载的模块。

只要我用引号引起来,问题就消失了。