Windows环境下Jenkins PowerShell无法切换盘符的问题求助
Jenkins PowerShell无法切换盘符问题解决办法
问题描述
在Windows系统中部署Jenkins,使用本地创建的管理员权限服务账户将Jenkins作为服务运行。本地使用同一用户操作PowerShell时可正常访问并切换C:与D:盘符,但在Jenkins的PowerShell中无法完成该操作。
相关截图
- Jenkins作为服务运行:

- PowerShell执行报错:

- 直接执行PowerShell的情况:

- 机器上的盘符列表:

解决方案
使用PowerShell标准cmdlet切换路径
不要直接用D:这种盘符切换语法,改用PowerShell原生的Set-Locationcmdlet,比如:Set-Location D:\ # 后续操作示例 Get-ChildItem D:\target-folder非交互式会话(Jenkins的PowerShell执行环境属于此类)对盘符直接切换的支持有限,
Set-Location是全场景兼容的方法。验证服务账户的磁盘权限
右键D盘 → 属性 → 安全标签页,确认Jenkins服务使用的管理员账户已被赋予D盘的必要权限(如读取、写入、列出目录),若未添加则手动添加对应权限。确认Jenkins服务的登录配置
打开services.msc找到Jenkins服务,右键进入属性→登录标签页,确认登录账户为你创建的本地管理员账户,密码无误。若修改过配置,重启Jenkins服务生效。强制使用交互式PowerShell会话(可选)
如果必须使用盘符切换语法,可在Jenkins的PowerShell步骤中调用独立的PowerShell进程:powershell -Command "D:; 你的命令"或加上参数确保环境正常:
powershell -NoProfile -ExecutionPolicy Bypass -Command "D:; Get-ChildItem"
内容的提问来源于stack exchange,提问作者Princy
相关产品推荐
相关产品推荐

