我有一个由Jenkins服务器,几个Jenkins从站(Windows)和几台远程Windows计算机组成的环境,这些计算机都属于同一域。
我需要运行一个jenkins作业,该作业针对同一域中的其他Windows远程计算机(未安装模块)执行一个包含多个功能的Powershell代码段(Jenkins Slave上加载的自定义模块的一部分)
这些模块需要在具有访问远程计算机权限的特定域帐户下运行。
如果我在任何詹金斯奴隶(使用该特定域帐户)上登录,一切正常。
默认情况下,Jenkins使用 NT Authority \ system 帐户在从站上执行作业,该帐户当然会返回拒绝访问错误。
问题:是否有办法告诉詹金斯使用另一个特定的域帐户而不是 NT Authority \ System 一个在Windows从属计算机上执行作业?
已经尝试过:
使用凭据的调用命令:这不是一个选择,因为远程计算机没有模块
假冒:尝试了PS画廊上的一些功能,但不起作用
答案 0 :(得分:1)
您可以在脚本中将powershell作为进程运行,然后从Jenkins调用它。在脚本中,您也可以使用
$username = 'username'
$password = 'password'
$securePassword = ConvertTo-SecureString $password -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential $username,$securePassword
Start-Process Powershell.exe -Credential $credential
希望有帮助。