gpt4 book ai didi

windows - Jenkins 不会使用 Credential 参数运行 Start-Job

转载 作者:可可西里 更新时间:2023-11-01 13:48:42 26 4
gpt4 key购买 nike

我通过 env 注入(inject)器将凭据传递给脚本(注意这对我来说适用于 Invoke-Command)并尝试运行 Start-Job 但 Jenkins 不喜欢它:

$user = $ENV:user
$pass = $ENV:pass

write-output (cat env:username)
write-output (cat env:user)
write-output (cat env:pass)

$pass = $pass | ConvertTo-SecureString -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList ($user), $pass

Start-Job -Credential $cred -ScriptBlock {'test'}

write-output (get-job | Receive-Job)
get-job | remove-job

这是我得到的错误(确认用户名和密码是正确的,当我从控制台使用相同的凭据运行这个脚本时)

Started by user ME

[EnvInject] - Loading node environment variables.
Building in workspace C:\Program Files (x86)\Jenkins\jobs\myjob\workspace
[workspace] $ powershell.exe -NonInteractive -ExecutionPolicy ByPass "& 'C:\Windows\TEMP\hudson1723222179976241861.ps1'"
MYJENKINSSRV$
correctdomain\correctuser
correctPassword

Id Name PSJobTypeName State HasMoreData Location
-- ---- ------------- ----- ----------- --------
1 Job1 BackgroundJob Failed False localhost
[localhost] An error occurred while starting the background process. Error
reported: Access is denied.
+ CategoryInfo : OpenError: (localhost:String) [], PSRemotingTran
sportException
+ FullyQualifiedErrorId : -2147467259,PSSessionStateBroken


Finished: SUCCESS

最佳答案

我有时在使用 PowerShell 时遇到凭据问题,我通常可以使用以下方法修复它:

$username = Username
$password = Password

$cred = New-Object -TypeName System.Management.Automation.PSCredential ($username, $password)
$Credentials = Get-Credential $cred

基本上是将凭据输入 Get-credentials,然后将其用于凭据。

关于windows - Jenkins 不会使用 Credential 参数运行 Start-Job,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39443769/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com