You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用PowerShell脚本安装Jenkins遇账户错误,求解决办法

Windows服务器Jenkins服务创建失败的解决方法

问题场景

在Windows服务器上执行以下PowerShell脚本安装Jenkins时:

# Create a new local user account for running Jenkins
$userName = 'jenkins'
$userPassword = 'P@ssw0rd' | ConvertTo-SecureString -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ($userName, $userPassword)
New-LocalUser -Name $userName -Password $userPassword

# Download the latest Jenkins WAR file
$jenkinsUrl = 'http://updates.jenkins-ci.org/latest/jenkins.war'
$jenkinsPath = 'C:\Program Files (x86)\Jenkins\jenkins.war'
Invoke-WebRequest -Uri $jenkinsUrl -OutFile $jenkinsPath

# Create a new Jenkins service that runs under the jenkins user account
$serviceName = 'Jenkins'
$binaryPath = "C:\Windows\System32\java.exe -jar $jenkinsPath --httpPort=8080"
$serviceParams = @{
    Name = $serviceName
    BinaryPathName = $binaryPath
    Credential = $credential
    Description = 'Jenkins CI server'
}
New-Service @serviceParams
Start-Service $serviceName

出现如下错误:

New-Service : Service ' (Jenkins)' cannot be created due to the following error:
The account name is invalid or does not exist, or the password is invalid for the account name specified
At line:1 char:1
+ New-Service @serviceParams
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : PermissionDenied: (Jenkins:String) [New-Service], ServiceCommandException
    + FullyQualifiedErrorId : CouldNotNewService,Microsoft.PowerShell.Commands.NewServiceCommand

解决方法

  • 验证本地用户是否成功创建:执行Get-LocalUser -Name jenkins,如果返回空结果,说明用户创建失败。修改用户创建代码,添加必要参数确保创建成功:

    New-LocalUser -Name $userName -Password $userPassword -AccountNeverExpires -UserMayNotChangePassword -Force
    

    注意:必须以管理员身份运行PowerShell,否则无权限创建本地用户。

  • 修正本地账户凭证格式:New-Service识别本地账户时需要加上.\前缀,否则会误判为域账户。修改凭证创建代码:

    $credential = New-Object System.Management.Automation.PSCredential (".\$userName", $userPassword)
    
  • 检查密码是否符合本地策略:P@ssw0rd可能不符合服务器的密码复杂度/长度要求(比如部分服务器要求密码至少8位、包含大小写+数字+特殊字符)。更换为符合策略的密码,或临时调整本地密码策略测试。

  • 确保Jenkins目录存在:脚本中指定的C:\Program Files (x86)\Jenkins目录如果不存在,会导致WAR文件下载失败,间接影响服务创建。添加目录创建代码到下载WAR文件之前:

    New-Item -Path 'C:\Program Files (x86)\Jenkins' -ItemType Directory -Force
    
  • 临时改用内置系统账户运行服务:如果本地账户问题暂时无法解决,可以先使用LocalSystem账户创建服务,跳过自定义用户的步骤,修改服务参数:

    $serviceParams = @{
        Name = $serviceName
        BinaryPathName = $binaryPath
        Description = 'Jenkins CI server'
        StartupType = 'Automatic'
    }
    

    此方法权限较高,仅用于测试Jenkins能否正常启动,后续建议切换到专用本地账户。

内容的提问来源于stack exchange,提问作者saikrishnakudelli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 17:27:37