Comment réinitialiser le mot de passe administrateur dans AEM 6.3

Description

Environnement
Adobe Experience Manager 6.4, 6.5

Problème/Symptômes
Le mot de passe administrateur est oublié et doit être réinitialisé.

Résolution

Pour réinitialiser le mot de passe, procédez comme suit :

  1. Saisissez la commande suivante dans l’invite de commande du serveur (remplacez le chemin par le chemin d’accès à votre banque de segments AEM).. AEM doit être arrêté avant d’exécuter les étapes suivantes : java -jar oak-run-*.jar console path/to/crx-quickstart/repository/segmentstore --read-write ":load admin-reset.groovy"
  2. Saisissez les informations suivantes : :load admin-reset63.groovy
  3. Appuyez sur Entrée. Le script recherche et remplace automatiquement le mot de passe administrateur par admin.
  4. Consultez la sortie, qui indique : Found admin node : SegmentNodeBuilder{path=/home/users/some/path}
  5. Démarrez AEM.


Informations supplémentaires

Éléments requis :

  • oak-run jar
  • admin-reset.groovyscript (télécharger/supprimer .txt ou créer à partir du contenu)

TÉLÉCHARGER

Obtenir le fichier

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." );

}

Sur cette page