通过Jenkins通过Powershell插件安装appx

时间:2015-12-07 08:53:04

标签: windows powershell jenkins appx

我在使用Jenkins中的Powershell插件尝试使用Powershell -ExecutionPolicy Unrestricted add-appxpackage <path to appx>安装appx时遇到问题,并记录以下错误:

add-appxpackage : Deployment failed with HRESULT: 0x80073CF9, Install failed. Please contact your software vendor. (Exception from HRESULT: 0x80073CF9) Deployment Add operation rejected on package <path to appx> install request because the Local System account is not allowed to perform this operation. NOTE: For additional information, look for [ActivityId]

据我了解,此问题主要是因为Windows上的Jenkins服务安装为NT Authority\System。 (如果我使用psexec.exe打开以Authority \ System运行的命令提示符,我会遇到同样的问题。)然后我尝试添加net localgroup "Administrators" NT Authority\System /add,希望该组可能会以管理员身份添加,并让我安装appx,所以我可以运行测试,但没有成功。现在我卡住了,我不确定是否真的有办法通过Jenkins安装appx或者不是OR如果有办法通过Jenkins作为管理员调用Powershell脚本。我已经通过了几个SO链接,但似乎没有一个能解决我面临的问题。任何指针都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

不要尝试将系统添加到管理员组,由于某种原因,它是一个受限制的帐户,不需要管理员权限。

而是将Jenkins服务更改为以具有您正在尝试执行的操作的权限的用户身份运行。这可能意味着您需要专门为Jenkins服务创建一个帐户。

有几种方法可以更改服务帐户,this answer提供以下解决方案:

sc.exe config "Service Name" obj= "DOMAIN\User" password= "password"