Назад | Перейти на главную страницу

PowerShell: получение ошибки «не поддерживает взаимодействие с пользователем», когда ввод не требуется

Я запускаю сценарий PowerShell во время развертывания на основе TFS 2015. Он не запустится, потому что 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"
)

Эта ошибка вызвана каким-то командлетом или командой в вашем скрипте (отображение параметров - отвлекающий маневр).

Искать Write-Host, Remove-Item et similia.

Вы можете попробовать выполнить свой скрипт, передав -NonInteractive к интерпретатору Powershell или поэкспериментируйте с разными значениями для $ConfirmPreference переменная (например, None).