Windows Server 1709中Bamboo Agent服务添加管理员用户后启动报错误15
解决Windows Server 1709上Bamboo Agent服务启动错误代码15的问题
错误代码15提示「服务无正确系统运行权限」,虽然你已经成功设置了服务的登录账户,但问题出在该账户缺少服务运行必需的核心权限,而非角色/功能缺失。下面是具体的排查和解决步骤:
1. 确保账户拥有「作为服务登录」权限
Windows服务的运行账户必须具备「Log on as a service」(作为服务登录)权限,这是独立于管理员权限的系统级权限,默认不会自动授予普通管理员或域用户。
用PowerShell配置权限(无GUI环境适用)
执行以下命令给devadmin添加该权限:
# 替换为你的账户名,本地用户用.\devadmin,域用户用domain\devadmin $targetAccount = "userdomain\devadmin" # 获取「作为服务登录」权限的WMI对象 $serviceLogonRight = Get-WmiObject -Class Win32_UserRightAssignment -Filter "SettingID='SeServiceLogonRight'" # 检查账户是否已在权限列表中 if ($targetAccount -notin $serviceLogonRight.PrivilegeHolder) { # 添加账户到权限列表 $serviceLogonRight.PrivilegeHolder += $targetAccount $serviceLogonRight.Put() | Out-Null Write-Host "已成功给$targetAccount添加「作为服务登录」权限" } else { Write-Host "$targetAccount已拥有「作为服务登录」权限" }
远程图形化配置(若能通过Windows Admin Center或MMC连接)
- 打开
mmc.exe,添加「本地安全策略」管理单元 - 导航到:本地策略 > 用户权限分配 > 作为服务登录
- 添加你的
devadmin账户
2. 验证服务登录账户的配置正确性
执行命令检查服务的当前登录账户设置,确认没有格式错误:
sc qc bamboo-agent
查看输出中的SERVICE_START_NAME字段,确保账户格式正确:
- 本地用户:
.\devadmin或SERVERNAME\devadmin - 域用户:
DOMAINNAME\devadmin
如果是域账户,还要确认该账户未过期、未锁定,且服务器能正常访问域控制器。
3. 检查Bamboo Agent目录的权限
Bamboo Agent需要读写自身的安装目录、缓存目录(通常是C:\Program Files\Atlassian\Bamboo Agent或自定义路径),确保devadmin账户对这些目录有读取、写入、修改权限:
# 替换为你的Bamboo Agent安装路径 $agentPath = "C:\Program Files\Atlassian\Bamboo Agent" Get-Acl $agentPath | Select-Object -ExpandProperty Access | Where-Object {$_.IdentityReference -match "devadmin"}
如果权限不足,用Set-Acl命令添加权限,或通过Windows Admin Center远程配置。
4. 无需额外安装角色/功能
Windows Server 1709运行Bamboo Agent服务不需要额外的服务器角色或功能,问题核心是权限配置,而非系统组件缺失。
完成以上步骤后,重启服务器(确保权限生效),再尝试启动Bamboo Agent服务,应该就能解决错误代码15的问题。
内容的提问来源于stack exchange,提问作者Ciaran Donoghue
相关产品推荐
相关产品推荐

