我在基于 TFS 2015 的部署期间运行 PowerShell 脚本。它不会运行,因为 PS 认为它需要用户交互,但是,当我将命令和参数复制粘贴到 PS 控制台并直接调用它时,它完全按预期工作(无需用户输入)。
有什么建议吗?谢谢。
这是最上面的。由于许可原因,我无法添加更多内容:
[CmdletBinding()]
param(
[ValidateNotNullOrEmpty()]
[String]
$LocalDataPath, # .
[ValidateNotNullOrEmpty()]
[String]
$ApiEndpointUrlPrefix, # http://hostname/ReportServer
[ValidateNotNullOrEmpty()]
[String]
$DataSourceUrlRelPath = "Data Sources",
[ValidateNotNullOrEmpty()]
[String]
$DatasetUrlRelPath = "Datasets",
[ValidateNotNullOrEmpty()]
[String]
$ReportUrlRelPath = "Reports",
[ValidateNotNullOrEmpty()]
[String]
$RootUrlAbsPath = "/Root"
)
答案1
该错误是由脚本中的某些 cmdlet 或命令引起的(显示参数是转移注意力的花招)。
寻找Write-Host
,Remove-Item
以及类似物。
您可以尝试将标志传递-NonInteractive
给 Powershell 解释器来执行脚本,或者尝试该$ConfirmPreference
变量的不同值(例如None
)。