Jenkins PowerShell: Start-Process with Passthru возвращает другой идентификатор процесса при выполнении в Jenkins, но не в PowerShell - PullRequest
1 голос
/ 19 июня 2020

Я столкнулся со странным сценарием, когда я хочу открыть файл .rdp и получить его идентификатор процесса в конвейере Jenkins.

Мой сценарий PowerShell (на основе этого ответа ):

$app = Start-Process "$env:windir\system32\mstsc.exe" -ArgumentList "C:\Users\AzureUser\Desktop\MyRDP.rdp /h:900 /w:1600" -WindowStyle Minimized -PassThru

Write-Host $app.id

Когда я запускал это в PowerShell, он работал должным образом. Однако, когда я попытался выполнить этот сценарий на конвейере Jenkins, он открывает файл .rdp, но возвращает другой идентификатор процесса.

Вот снимок экрана результата.

Я также попытался заключить его в Invoke-Command, чтобы убедиться, что он работает на 64-битной Powershell, но это ничего не изменило.

Мне интересно, что может быть другой возможной причиной этот. Любая помощь будет оценена по достоинству. :)

1 Ответ

0 голосов
/ 05 августа 2020

Решение просто. Я все равно отправлю свой ответ, если кто-то может столкнуться с той же проблемой, что и я. Вам просто нужно убедиться, что Jenkins работает на 64-битной версии. Вот и все, и сработало как шарм.

...