Ошибка при выполнении скрипта PowerShell из Jenkins - PullRequest
0 голосов
/ 14 июня 2019

У меня есть этот простой скрипт PS test.ps1, который копирует файл с одного сервера на другой.Сценарий работает должным образом при выполнении непосредственно с сервера Jenkins.

$username = "domain\tester"
$pass = Get-Content "C:\test\Convert Password To Encrypted String\servername.txt" | ConvertTo-SecureString
$cred = New-Object -TypeName System.Management.Automation.PSCredential - 
ArgumentList $username, $pass
Start-Sleep -Seconds 1.5
$Session = New-PSSession -ComputerName "servername" -Authentication 
Negotiate -Credential $cred
Copy-Item "C:\test.txt" -Destination "C:\test" -ToSession $Session

Но при вызове того же сценария из пользовательского интерфейса Jenkins происходит сбой с приведенной ниже ошибкой.

C:\Program Files (x86)\Jenkins\workspace\jenkinsJob>powershell -File C:\test.ps1 
New-PSSession : Cannot process argument transformation on parameter 
'Credential'. userName
At C:\test\test.ps1:8 char:91
+ ... ComputerName "servername" -Authentication Negotiate -Credential $cred
+                                                                     ~~~~~
    + CategoryInfo          : InvalidData: (:) [New-PSSession], ParameterBindi 
   ngArgumentTransformationException
    + FullyQualifiedErrorId : ParameterArgumentTransformationError,Microsoft.P 
   owerShell.Commands.NewPSSessionCommand

Copy-Item : Cannot validate argument on parameter 'ToSession'. The argument is 
null or empty. Provide an argument that is not null or empty, and then try the 
command again.
At C:\test\test.ps1:9 char:120
+ ... build.test\dist\test.txt" -Destination "C:\test" -ToSession $Session
+                                                                  ~~~~~~~~
    + CategoryInfo          : InvalidData: (:) [Copy-Item], ParameterBindingVa 
   lidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.Power 
   Shell.Commands.CopyItemCommand
C:\Program Files (x86)\Jenkins\workspace\jenkinsJob>exit 0 
Finished: SUCCESS

Я проверил все настройки PowerShellреализованы, как и ожидалось.Проверено Set-ExecutionPolicy неограниченно.Дженкинс вызывает скрипт как powershell - путь к файлу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...