隐藏TFS发布日志中的导入模块输出

时间:2019-02-11 16:19:28

标签: powershell tfs

我正在使用TFS 2015版本。我有一个非常简单的脚本:它导入模块并运行另一个脚本。问题是我在TFS发行日志中看到Import-Module日志,但无法隐藏它们。示例:

# ScriptRunner.ps1
Import-Module MyModule -DisableNameChecking -Global
& ".\script.ps1"

使用以下命令在本地运行此命令时,看不到Import-Module命令的任何输出:

powershell "path\ScriptRunner.ps1" 

在TFS发行版中,我具有“目标计算机上的PowerShell”任务,并且运行相同的脚本ScriptRunner.ps1。这就是我在日志中看到的:

Deployment started on target machine...
Loading module from path 'C:\Program Files\WindowsPowerShell\Modules\MyModule\MyModule.psm1'
Exporting function 'My-Function-1'.
...
Exporting function 'My-Function-10'.
The 'My-Function-1' command in the MyModule module was imported, but because its name does not include an approved verb, it might be difficult to find. For a list of approved verbs, type Get-Verb.
The command name 'My-Function-1' from the module 'MyModule' contains one or more of the following restricted characters: # , ( ) { } [ ] & - / \ $ ^ ; : " ' < > | ? @ ` * % + = ~
Importing function 'My-Function-1'.
...

该如何记录?我指定DisableNameChecking标志。我试图通过更改脚本中的Import-Module行来隐藏此消息,但这无济于事:

[void](Import-Module MyModule -DisableNameChecking -Global)
Import-Module MyModule -DisableNameChecking -Global | Out-Null
Import-Module MyModule -DisableNameChecking -Global -WarningAction SilentlyContinue

1 个答案:

答案 0 :(得分:0)

您可以将$ ErrorActionPreference标志设置为Silentlycontinue。那应该解决问题。 请注意,当您将此行添加到脚本中时,整个脚本都会更改“错误操作首选项”。

$ErrorActionPreference = "Silentlycontinue"