Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell和Jenkins-作为另一个用户执行Powershell脚本_Powershell_Authentication_Jenkins_Automation - Fatal编程技术网

Powershell和Jenkins-作为另一个用户执行Powershell脚本

Powershell和Jenkins-作为另一个用户执行Powershell脚本,powershell,authentication,jenkins,automation,Powershell,Authentication,Jenkins,Automation,我有一个由Jenkins服务器、两个Jenkins从属服务器(windows)和几个远程windows计算机组成的环境,所有这些计算机都属于同一个域 我需要运行一个jenkins作业,该作业针对同一域(未安装模块)中的其他windows远程计算机执行由多个函数(加载在jenkins从机上的自定义模块的一部分)组成的powershell代码段 这些模块需要在具有访问远程计算机权限的特定域帐户下运行 如果我使用任何jenkins slave(使用特定的域帐户)登录,一切正常 默认情况下,Jenkin

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

我需要运行一个jenkins作业,该作业针对同一域(未安装模块)中的其他windows远程计算机执行由多个函数(加载在jenkins从机上的自定义模块的一部分)组成的powershell代码段

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

如果我使用任何jenkins slave(使用特定的域帐户)登录,一切正常

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

问题:有没有办法告诉Jenkins使用另一个特定的域帐户而不是NT Authority\System在windows从属服务器上执行作业

已尝试:

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

  • 模拟:尝试了PS gallery上的几个功能,但不起作用


您可以在脚本中将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

希望能有帮助

问题是我无法将凭据以明文形式保存在.ps1文件中。此外,如果我像那样运行powershell,我将无法利用jenkins提供的特定身份验证会话。希望有意义。嗨,你解决了这个问题吗?我正在看类似的东西。