如何在 AEM 6.3 中重設管理員密碼

瞭解如何在AEM 6.3中重設管理員密碼。您必須先停止AEM。

說明 description

環境

Adobe Experience Manager 6.4、6.5

問題/症狀

忘記管理員密碼,需要重設。

解決方法 resolution

請依照下列步驟重設密碼:

  1. 在伺服器命令提示中輸入以下命令(將路徑取代為AEM區段存放區的路徑)。 在執行下列步驟之前,應該停止 AEM: java -jar oak-run-*.jar console path/to/crx-quickstart/repository/segmentstore --read-write ":load admin-reset.groovy"
  2. 輸入下列專案: :load admin-reset63.groovy
  3. 按下Enter鍵,指令碼將自動查詢管理員密碼並將其變更為admin。
  4. 檢閱輸出,顯示: Found admin node : SegmentNodeBuilder{path=/home/users/some/path}
  5. 開始 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." );

}

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f