1. 登录ServiceDesk Plus服务器,打开ServiceDesk Plus的安装目录下的bin文件夹*
2. 运行changeDBServer.bat. 配置的数据库信息将会显示在打开的窗口中
如果是MSSQL,则打开SQL Management Studio,连接到ServiceDesk Plus的数据库,从第6步开始执行;
针对AssetExplorer的密码操作,参考ServiceDesk Plus目录下下的路径,在相应目录下操作。
3. 如果数据库是 PGSQL, 首先应链接到数据库
4. 右键点击Windows图标,选择命令行(管理员),即以管理员权限打开一个命令行窗口
5. 跳转到ManageEngine\ServiceDesk\pgsql\bin(ServiceDesk安装目录的bin目录下)然后执行
如果ServiceDesk Plus版本低于10.5/ AssetExplorer版本低于6.5
psql.exe -U postgres -p 65432 -d servicedesk -h 127.0.0.1
如果ServiceDesk Plus版本高于10.5/ AssetExplorer版本高于6.5
psql.exe -U sdpadmin -p 65432 -d servicedesk -h 127.0.0.1
提示输入密码时,输入 sdp@123
6. 复制并粘贴以下查询语句,并执行
获取当前有效的SDOrgAdmin用户 ( ServiceDesk Plus 11.0 及更高版本/ AssetExplorer 6.6及更高版本):
Select al.login_id"Login ID",au.first_name"Name",al.name"Login Name" from aaaauthorizedrole aar left join aaarole ar on aar.role_id=ar.role_id left join aaaaccount aa on aar.account_id=aa.account_id left join aaalogin al on aa.login_id=al.login_id left join aaauser au on al.user_id=au.user_id left join sduser sd on au.user_id=sd.userid where ar.name like 'SDOrgAdmin' and sd.status='ACTIVE';
获取有效的SDAdmin用户 (ServiceDesk Plus 11.0 之前版本 / AssetExplorer 6.6之前版本)
Select al.login_id"Login ID",au.first_name"Name",al.name"Login Name" from aaaauthorizedrole aar left join aaarole ar on aar.role_id=ar.role_id left join aaaaccount aa on aar.account_id=aa.account_id left join aaalogin al on aa.login_id=al.login_id left join aaauser au on al.user_id=au.user_id left join sduser sd on au.user_id=sd.userid where ar.name like 'SDAdmin' and sd.status='ACTIVE';
7. 从结果中找到需要重置密码的用户,并记录下其对应的login_id,使用下面SQL语句来执行密码重置。提示,Login_ID替换为login_id的值。
ServiceDesk Plus 11.0 之前版本 / AssetExplorer 6.6之前版本 执行以下SQL语句:
PGSQL:
update AaaPassword set password='$2a$12$fZUC9IK8E/AwtCxMKnCfiu830qUyYB/JRhWpi2k1vgWLC6iLFAgxa', SALT=pgp_sym_encrypt('$2a$12$fZUC9IK8E/AwtCxMKnCfiu','SChar@123Mas!er','s2k-mode=1, cipher-algo=aes256'), algorithm='bcrypt' where password_id in (select ap.password_id from aaaaccpassword ap left join aaaaccount ac on ac.account_id=ap.account_id left join aaalogin al on al.login_id=ac.login_id where al.login_id= Login_ID);
MSSQL:
OPEN SYMMETRIC KEY ZOHO_SYMM_KEY DECRYPTION BY CERTIFICATE ZOHO_CERT;update AaaPassword set password='$2a$12$fZUC9IK8E/AwtCxMKnCfiu830qUyYB/JRhWpi2k1vgWLC6iLFAgxa', SALT= EncryptByKey(Key_GUID('ZOHO_SYMM_KEY'), N'$2a$12$fZUC9IK8E/AwtCxMKnCfiu'), algorithm='bcrypt' where password_id in (select ap.password_id from aaaaccpassword ap left join aaaaccount ac on ac.account_id=ap.account_id left join aaalogin al on al.login_id=ac.login_id where al.login_id= Login_ID);CLOSE SYMMETRIC KEY ZOHO_SYMM_KEY ;
注意:对于MSSQL,在执行上述SQL语句时,应用应当处于运行状态。
ServiceDesk Plus版本低于10.5/ AssetExplorer版本低于6.5 执行以下SQL语句:
update AaaPassword set password='$2a$12$fZUC9IK8E/AwtCxMKnCfiu830qUyYB/JRhWpi2k1vgWLC6iLFAgxa', SALT='$2a$12$fZUC9IK8E/AwtCxMKnCfiu', algorithm='bcrypt' where password_id in (select ap.password_id from aaaaccpassword ap left join aaaaccount ac on ac.account_id=ap.account_id left join aaalogin al on al.login_id=ac.login_id where al.login_id= Login_ID);
ServiceDesk Plus版本低于9.3/ AssetExplorer版本低于6.2 执行以下SQL语句:
update AaaPassword set password='2+uYvE3SLfO3XaHl+CaGLA==', SALT='1103287238602', algorithm='MD5' where password_id in (select ap.password_id from aaaaccpassword ap left join aaaaccount ac on ac.account_id=ap.account_id left join aaalogin al on al.login_id=ac.login_id where al.login_id=Login_ID);
重置完成后,您就可以使用密码“admin”来进行登录了。请注意,如果登录启用了域选项,在认证一栏,请选择“本地认证”,如果用户还关联的域,则在域一栏,也应选择登录账号关联的域名称。
8. 如果在ServiceDesk Plus中禁用了本地认证,您可以尝试在您的域控制器/LDAP服务器上重置用户的密码,或者在ServiceDesk Plus中启用本地认证。在数据库中执行以下语句,启用本地认证:
update globalconfig set paramvalue='true' where parameter='Enable_LocalAuthentication_Login';
9. 执行完上述语句后,重启ServiceDesk Plus服务,使配置生效。