PowerShell:无需输入时出现“不支持用户交互”错误

PowerShell:无需输入时出现“不支持用户交互”错误

我在基于 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-HostRemove-Item以及类似物。

您可以尝试将标志传递-NonInteractive给 Powershell 解释器来执行脚本,或者尝试该$ConfirmPreference变量的不同值(例如None)。

相关内容