如何在 AEM 6.3 中重設管理員密碼
瞭解如何在AEM 6.3中重設管理員密碼。您必須先停止AEM。
說明 description
環境
Adobe Experience Manager 6.4、6.5
問題/症狀
忘記管理員密碼,需要重設。
解決方法 resolution
請依照下列步驟重設密碼:
- 在伺服器命令提示中輸入以下命令(將路徑取代為AEM區段存放區的路徑)。 在執行下列步驟之前,應該停止 AEM:
java -jar oak-run-*.jar console path/to/crx-quickstart/repository/segmentstore --read-write ":load admin-reset.groovy"
- 輸入下列專案:
:load admin-reset63.groovy
- 按下Enter鍵,指令碼將自動查詢管理員密碼並將其變更為admin。
- 檢閱輸出,顯示:
Found admin node : SegmentNodeBuilder{path=/home/users/some/path}
- 開始 AEM。
其他資訊
所需專案:
- oak-run jar
admin-reset.groovy
指令碼(下載/移除.txt或從內容建立)
下載
admin-reset.groovy
import
org.apache.jackrabbit.oak.spi.security.user.util.PasswordUtil
import
org.apache.jackrabbit.oak.spi.commit.CommitInfo
import
org.apache.jackrabbit.oak.spi.commit.EmptyHook
class
Global {
static
adminNode =
null
;
}
void
findAdminNode(ub) {
if
(ub.hasProperty(
"rep:principalName"
)) {
if
(
"rep:principalName = admin"
.equals(ub.getProperty(
"rep:principalName"
).toString())) {
Global.adminNode = ub;
}
}
ub.childNodeNames.each { it ->
if
(Global.adminNode ==
null
) {
findAdminNode(ub.getChildNode(it));
}
}
}
ub = session.store.root.builder();
findAdminNode(ub.getChildNode(
"home"
).getChildNode(
"users"
));
if
(Global.adminNode) {
println(
"Found admin node: "
+ Global.adminNode.toString());
Global.adminNode.setProperty(
"rep:password"
, PasswordUtil.buildPasswordHash(
"admin"
));
session.store.merge(ub, EmptyHook.INSTANCE, CommitInfo.EMPTY);
}
else
{
println(
"Could not find admin node."
);
}