首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能让Jenkins Powershell插件工作?

为什么我不能让Jenkins Powershell插件工作?
EN

Stack Overflow用户
提问于 2013-08-09 07:58:13
回答 3查看 10.2K关注 0票数 4

为什么我不能让Jenkins的"Powershell插件“工作?

我可以在Jenkins上运行powershell脚本,使用以下命令执行“执行windows批处理命令”构建步骤:

代码语言:javascript
复制
powershell -ExecutionPolicy ByPass -File script.ps1

但我无法使用"Windows Powershell“构建步骤和此命令运行带有Jenkins "Powershell插件”的powershell脚本,因为Windows执行策略未设置错误,不允许它运行:

代码语言:javascript
复制
script.ps1

有谁知道正确的参数来给Jenkins "Powershell插件“,让它成功地运行一个脚本?否则,我将只使用批处理脚本解决方法。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-09 08:41:37

正确的做法是在您的机器上设置一个执行策略(一次性操作),这样您就不需要每次都绕过它,Jenkins插件应该“就能工作”。你做不到吗?

合理的启动设置应该是RemoteSigned,这将允许您很好地执行本地脚本,但仍然不允许从互联网下载脚本。

在提升的PowerShell提示符下,您将运行:

代码语言:javascript
复制
Set-ExecutionPolicy RemoteSigned

另请参阅:http://technet.microsoft.com/library/hh849812.aspx

更新:摘自关于应用策略和它应该如何行为的帮助:

如果您为本地计算机(默认设置)或当前用户设置了执行策略,则更改将保存在注册表中并保持有效,直到您再次更改它为止。

当然,如果您的计算机在域中,则组策略可以恢复此状态。

票数 3
EN

Stack Overflow用户

发布于 2013-11-22 21:19:41

要获得不会重启的解决方案,请将这一行

powershell Set-ExecutionPolicy -Scope CurrentUser RemoteSigned -Force

在所有用户启动文件夹中的批处理文件中,该文件夹在Windows7上为C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup

(也可以单击Start -> All Programs,右键单击Startup,然后单击Open All Users)

这就是我如何让Jenkins在受组策略约束的域计算机上执行PS脚本,而不必涉及sys管理员;-)

票数 3
EN

Stack Overflow用户

发布于 2013-08-09 23:52:54

经过实验,我意识到由于Jenkins作为系统用户作为服务运行,因此powershell作用域与我的终端服务登录会话使用的作用域不同。

此脚本适用于我,并且似乎正确地设置了注册表项,以便该设置在重新启动和新登录后仍然有效。

代码语言:javascript
复制
# SetExecutionPolicyToRemoteSigned.ps1
# Need to run this after every server reboot.
Write-Output "Setting local Powershell policy to RemoteSigned"
Write-Output ""

Set-ExecutionPolicy -scope CurrentUser Undefined -Force
#Set-ExecutionPolicy -scope Process Undefined -Force
Set-ExecutionPolicy -scope LocalMachine Undefined -Force

Set-ExecutionPolicy -scope CurrentUser RemoteSigned -Force
#Set-ExecutionPolicy -scope Process RemoteSigned -Force
Set-ExecutionPolicy -scope LocalMachine RemoteSigned -Force

Write-Output "Finished."

Get-ExecutionPolicy -list
Start-Sleep -s 10
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18138193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档