我正在使用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
答案 0 :(得分:0)
您可以将$ ErrorActionPreference标志设置为Silentlycontinue。那应该解决问题。 请注意,当您将此行添加到脚本中时,整个脚本都会更改“错误操作首选项”。
$ErrorActionPreference = "Silentlycontinue"