AEM 6.3 の管理者パスワードをリセットする方法
AEM 6.3 で管理者パスワードをリセットする方法を説明します。まずAEMを停止する必要があります。
説明 description
環境
Adobe Experience Manager 6.4, 6.5
問題/症状
管理者パスワードを忘れるとリセットする必要があります。
解決策 resolution
パスワードをリセットするには、次の手順に従います。
- サーバーコマンドプロンプトに次のコマンドを入力します(パスを、AEM segmentstore のパスに置き換えます) 。 次の手順を実行する前に、 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." );
}