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

Description

Le mot de passe de l’administrateur est oublié et doit être réinitialisé.


Environnement


AEM 6.4.6.5

Résolution

Étapes

  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 ci-dessous :

java -jar oak-run-*.jar console path/to/crx-quickstart/repository/segmentstore --read-write ":load admin-reset.groovy"

  1. Entrez la commande suivante :
:load admin-reset63.groovy
  1. Appuyez sur Entrée pour que le script recherche automatiquement le mot de passe administrateur et le remplace par admin.
    Consultez la sortie, qui indique :

    Found admin node : SegmentNodeBuilder{path=/home/users/some/path}
  2. Démarrez AEM



Informations supplémentaires


Éléments requis :

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

TÉLÉCHARGER

Obtenir le fichier

admin-reset.groovy

  1. import org.apache.jackrabbit.oak.spi.security.user.util.PasswordUtil
  2. import org.apache.jackrabbit.oak.spi.commit.CommitInfo
  3. import org.apache.jackrabbit.oak.spi.commit.EmptyHook
  4.  
  5. class Global {
  6.     static adminNode = null;
  7. }
  8.  
  9. void findAdminNode(ub) {
  10.     if (ub.hasProperty("rep:principalName") {
  11.         if ("rep:principalName = admin".equals(ub.getProperty("rep:principalName").toString()) {
  12.             Global.adminNode = ub;
  13.         }
  14.     }
  15.     ub.childNodeNames.each { it -
  16.         if (Global.adminNode == null) {
  17.             findAdminNode(ub.getChildNode(it));
  18.         }
  19.     }
  20. }
  21.  
  22. ub = session.store.root.builder();
  23. findAdminNode(ub.getChildNode("home").getChildNode("users");
  24.  
  25. if (Global.adminNode) {
  26.     println("Noeud d’administrateur trouvé : " + Global.adminNode.toString());
  27.     Global.adminNode.setProperty("rep:password", PasswordUtil.buildPasswordHash("admin");
  28.     session.store.merge(ub, EmptyHook.INSTANCE, CommitInfo.EMPTY);
  29. } else {
  30.     println("Impossible de trouver le noeud admin.");
  31. }

Sur cette page