Powershell和Jenkins-以其他用户身份执行Powershell脚本

时间:2018-08-15 11:19:38

标签: powershell authentication jenkins automation

我有一个由Jenkins服务器,几个Jenkins从站(Windows)和几台远程Windows计算机组成的环境,这些计算机都属于同一域。

我需要运行一个jenkins作业,该作业针对同一域中的其他Windows远程计算机(未安装模块)执行一个包含多个功能的Powershell代码段(Jenkins Slave上加载的自定义模块的一部分)

这些模块需要在具有访问远程计算机权限的特定域帐户下运行。

如果我在任何詹金斯奴隶(使用该特定域帐户)上登录,一切正常。

默认情况下,Jenkins使用 NT Authority \ system 帐户在从站上执行作业,该帐户当然会返回拒绝访问错误。

问题:是否有办法告诉詹金斯使用另一个特定的域帐户而不是 NT Authority \ System 一个在Windows从属计算机上执行作业?

已经尝试过:

  • 使用凭据的调用命令:这不是一个选择,因为远程计算机没有模块

  • 假冒:尝试了PS画廊上的一些功能,但不起作用

1 个答案:

答案 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

希望有帮助。