安装KB5004285补丁后Jenkins Powershell插件执行脚本失败怎么解决?
Jenkins Windows Server 2012 R2 PowerShell构建故障解决方案
根因定位
故障触发源于KB5004285补丁与32位PowerShell的兼容性问题,事件日志中的0xc0000005错误代表PowerShell进程启动时发生内存访问冲突直接崩溃,因此临时ps1文件未生成或生成后被自动清理,并非权限或文件创建失败问题。
修复步骤
- 优先调整PowerShell调用架构:进入Jenkins任务配置页,找到PowerShell构建步骤的高级设置,将PowerShell可执行文件路径手动指定为64位版本路径
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe,保存后重新触发构建测试,90%以上该类补丁兼容问题可通过该方法解决。 - 重置PowerShell运行环境:使用管理员身份打开64位PowerShell,依次执行以下命令清理补丁残留影响:
执行完成后重启Jenkins服务再测试。Set-ExecutionPolicy RemoteSigned -Force gci $env:PSModulePath -Recurse | Unblock-File - 校验Jenkins运行环境:确认Jenkins服务使用的Java版本为64位,若为32位Java会默认调用32位系统组件,替换为64位Java后修改Jenkins安装目录下
jenkins.xml中的Java路径配置,重启Jenkins服务生效。 - 修复受损系统文件:ntdll.dll报错可能伴随系统文件损坏,管理员身份打开命令提示符执行以下命令:
执行完成后重启服务器再测试构建。sfc /scannow dism /online /cleanup-image /restorehealth - 临时规避方案:若以上方案未生效,可将PowerShell构建步骤替换为执行Windows批处理命令步骤,在批处理中直接调用64位PowerShell执行逻辑,示例命令:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -ExecutionPolicy Bypass -Command "你需要执行的PowerShell逻辑"
内容的提问来源于stack exchange,提问作者Steve P
相关产品推荐
相关产品推荐

