我需要恢复/重置 JetBrain 的管理员密码 团队城市.

我对服务器有完全的 RDP 访问权限,所以没有问题。我们使用它才过去两个月,所以现在我忘记了我的登录信息 - 我常用的登录信息不起作用。

目前它的设置没有数据库,所以希望用户名只是在某个文件中,但到目前为止还没有找到它。

有帮助吗?

解决方案

在的情况下没有这些作品的,请参阅 http://sebastienlachance.com/post/复位-TeamCity的-Password.aspx

打开命令提示,并转到\ web应用\ ROOT \ WEB-INF \ lib文件夹。现在键入以下内容:

..\..\..\..\jre\bin\java.exe -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword username newpassword

其他提示

在 TeamCity 8 中,您可以以超级用户身份登录并以这种方式更改密码。您只需使用空用户名和在logs eamcity-server.log 文件中找到的最后一次出现的“超级用户身份验证令牌”作为密码。

请参阅以下内容以获取更多信息:

有关的TeamCity 6.5.4

从在[TeamCity的安装文件夹]命令提示\ web应用\ ROOT \ WEB-INF \ lib中:

..\..\..\..\jre\bin\java -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword admin NewPassword

我的用户名是“管理员”在我的情况(我想我安装时设置的,但我不能肯定)。

予忽略,则路径TeamCity的参数,它是足够聪明使用正确的路径(我的是C:\用户\ administrator.BuildServer)

当我提供的(错误的)路径的TeamCity作为参数我接收到这样的信息:

Using TeamCity configuration directory path: c:/TeamCity/.BuildServer
Exception in thread "main" java.sql.SQLException: Table not found in statement [UPDATE users SET PASSWORD = ? WHERE USERNAME = ? AND REALM IS NULL]
    at org.hsqldb.jdbc.Util.throwError(Util.java:58)
    at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(jdbcPreparedStatement.java:1833)
    at org.hsqldb.jdbc.jdbcConnection.prepareStatement(jdbcConnection.java:580)
    at ChangePassword.main(ChangePassword.java:14)

在此情况下,其他混淆人太

您可以尝试复位的TeamCity的安装,通过去除TeamCity的数据目录(默认$/.BuildServer目录)

尝试以下方法:

首先停止TeamCity的服务(如果安装也将停止生成剂)。 接下来打开一个控制台,进入你的java目录,并从那里运行以下命令:

java.exe -cp server.jar; hsqldb.jar ChangePassword USERNAME PASSWORD "PATH_TO_YOUR_TEAMCITY_INSTALLATION".BuildServer

我刚刚经历这种痛苦与V5 EAP。

我设法通过运行成功重置密码:

C:\TeamCity\webapps\ROOT\WEB-INF\lib>..\..\..\..\jre\bin\java -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword admin password c:\TeamCity\.BuildServer

虽然你需要替换C:\ TeamCity的与你的任何地方安装位于

在这种情况下帮助别人,在我的服务器放置在build目录管理员的配置文件下,不是在C谁安装的TeamCity:\的TeamCity。

具体地,对于在Tomcat运行在Windows TeamCity的这将是C:\ ProgramData \ JetBrains的\ TeamCity的

指定的目录作为最后一个参数必须是数据目录(发现/logs/teamcity-server.log)

如果你没有这个正确的你会得到“没有找到表”错误。

您会得到一个“数据库已在使用”的错误,如果你有跑步的TeamCity

您还可以搜索你/logs/teamcity-server.log看你是否创建管理员,管理员,或一些其他管理员用户名。

有关每个人都可以在本文多年的原答案像我只是做了之后到达,有一个内置超级用户帐户和密码进行再生每支球队城市启动时,密码是在日志中。你可以使用这个超级用户登录并重置所有密码。这是超级简单。

https://confluence.jetbrains.com/display/TCD9/Super+User

TeamCity的总是使用一个数据库 - 如果你还没有明确的配置之一,它的使用HSQLDB数据库来存储数据的内部

当使用外部数据库,用户信息被存储在该数据库中,因此它似乎很可能是在你的情况下,用户信息将被存储在HSQLDB系统内。

您可能能够通过与数据库把玩周围,以获得对系统的访问 - 但我建议先进行备份

第二个建议 - 删除支持球员在JetBrains公司的电子邮件。即使在我的工作场所心血来潮买了TeamCity的企业许可证,他们的支持是一流的 - 快速,准确,有效

使用的TeamCity 5使用MySQL(可能是其它版本和RDBMS为好,但未经测试),这是可以直接经由SQL更新密码:

mysql> update users set password = md5("mypass123") where username = "bob";

不过,我会坚持用别人已提到的CLI版本,如果没有一个很好的理由不这样做。

第一点是,如果你退出登录屏幕具有用户名“TCAdmin”已经填好,当它应该是“管理员”。 TCAdmin是全名(我认为)的默认版本5的管理员用户。改变这种以管理员,然后用我认为这是解决我的问题的密码。

有关复位... 在情况下,它可以帮助别人在Windows XP上其他的TeamCity的5.0版本,我.BuildServer配置信息也正在我目前登录的用户的文档和设置文件夹。此外,我是通过在jar文件在塞巴斯蒂安的上述很好的答案列表中的空间绊倒。

因此,我改变这个目录在命令提示:

 c:\teamcity\webapps\ROOT\WEB-INF\lib 

和然后此命令行(设定密码:密码1)为我工作:

C:\TeamCity\webapps\ROOT\WEB-INF\lib>..\..\..\..\jre\bin\java.exe -cp server.jar;commonapi.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword administrator Password1

这给了输出:

Using TeamCity configuration directory path: C:/Documents and Settings/tamw/.BuildServer 
Password changed successfuly
  1. 停止团队城市
  2. 您应该将路径传递给您的构建服务器 例如如果您将构建服务器安装到目录“c:\.BuildServer”

........\jre\bin\java.exe -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar 更改密码用户名新密码 c:\.构建服务器

下面是为我工作。

关闭服务器服务

> cd c:\TeamCity\webapps\ROOT\WEB-INF\lib>

然后

> ..\..\..\..\jre\bin\java.exe -cp server.jar ;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword admin password1 C:\ProgramData\JetBrains\TeamCity\

如果没有在最后的路径中,将失败:

Exception in thread "main" java.sql.SQLException: Table not found in statement [
UPDATE users SET PASSWORD = ? WHERE USERNAME = ? AND REALM IS NULL]
        at org.hsqldb.jdbc.Util.throwError(Util.java:58)
        at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(jdbcPreparedStatement.ja
va:1833)
        at org.hsqldb.jdbc.jdbcConnection.prepareStatement(jdbcConnection.java:5
80)
        at ChangePassword.main(ChangePassword.java:14)

我们正在使用的TeamCity 7与MS SQL Server作为RDBMS。

要重置您的密码,您可以使用以下查询:

UPDATE users SET password = LOWER(SUBSTRING(sys.fn_sqlvarbasetostr(HASHBYTES('md5','your_new_password')),3,32))
 where username = "your_user_name";

要改变用户口令:

关闭服务器

切换到/ web应用/ ROOT / WEB-INF / lib目录

调用以下命令:

Windows平台: 的java -cp的server.jar;共api.jar文件;公共编解码器-1.3.jar; util.jar;的hsqldb.jar ChangePassword

的Unix平台: 的java -cp的server.jar:共api.jar文件:公地编解码器-1.3.jar:util.jar:的hsqldb.jar ChangePassword

您可以跳过选项,如果你使用的是默认路径TeamCity的数据文件:/.BuildServer

[参考:http://confluence.jetbrains.com/display/TCD7/Changing+user+password+with+default+authentication+scheme]

超级用户直接URL:

http://servername:port/login.html?super=1

打开的TeamCity日志文件夹中(实施例C:驱动器:C:\ TeamCity的\原木):TeamCity的-server.log中,找到关键:“超级用户认证”

[2019-03-04 12:14:30,770]   INFO -   jetbrains.buildServer.SERVER - Super user authentication token: `8347518935696887114` (use empty username with the token as the password to access the server)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top