Exporter les utilisateurs et groupes avec alias de messagerie dans Google Workspace

Introduction

Les administrateurs Google Workspace peuvent créer des alias de messagerie pour les utilisateurs, leur permettant d’envoyer et de recevoir des e-mails à partir d’adresses supplémentaires du domaine. La recherche d’utilisateurs avec des alias peut s’avérer fastidieuse via l’interface d’administration, car les alias sont masqués dans les pages de profil. Ce script Google Apps facilite la tâche en exportant tous les utilisateurs et groupes avec des alias vers une feuille de calcul Google Sheets.

Fonctionnement du script

  1. Créez deux onglets dans une feuille de calcul Google Sheets : « Comptes » et « Groupes« .
  2. Copiez et collez le code ci-dessous dans l’éditeur de scripts (accessible via le menu « Extensions »). Remplacez myFunction par le nom de la fonction.
  3. Activez l’API Admin SDK dans le menu « Services » à gauche de l’éditeur de scripts.
  4. Exécutez la fonction pour générer la liste des utilisateurs et groupes avec alias dans les onglets « Comptes » et « Groupes ».

Code du script

function listeAliasComptes() {

  let pageToken
  let page

  // Ouvrir la feuille de calcul et la feuille spécifiée
  const classeur = SpreadsheetApp.getActiveSpreadsheet();
  const feuille = classeur.getSheetByName("Comptes");

  // Vider la feuille de calcul
  feuille.clear();

  // Ajouter l'en-tête
  const entete = ['Nom complet', 'Email', 'Alias'];
  feuille.appendRow(entete);

  // Appliquer la mise en forme en gras à la première ligne
  const ligneEntete = feuille.getRange(1, 1, 1, 3);
  ligneEntete.setFontWeight("bold");

  // Figer la première ligne
  feuille.setFrozenRows(1);

  do {
    page = AdminDirectory.Users.list({
      customer: 'my_customer',
      maxResults: 100,
      pageToken,
      fields: 'users(name/fullName,primaryEmail,aliases),nextPageToken',
    });

    let users = page.users;

    if (users) {
      for (let i = 0; i < users.length; i++) {
        const user = users[i];
        if (user.aliases && user.aliases.length > 0) {
          const rowData = [
            user.name.fullName,
            user.primaryEmail,
            JSON.stringify(user.aliases)
          ];
          feuille.appendRow(rowData);
        }
      }
    } else {
      Logger.log('Aucun utilisateur trouvé.');
    }

    pageToken = page.nextPageToken;
  } while (pageToken);
}

function listeAliasGroupes() {

  let pageToken;
  let page;

  // Ouvrir la feuille de calcul et la feuille spécifiée
  const classeur = SpreadsheetApp.getActiveSpreadsheet();
  const feuille = classeur.getSheetByName("Groupes");

  // Vider la feuille de calcul
  feuille.clear();

  // Ajouter l'en-tête
  const entete = ['Email du groupe', 'Alias'];
  feuille.appendRow(entete);

  // Appliquer la mise en forme en gras à la première ligne
  const ligneEntete = feuille.getRange(1, 1, 1, 2);
  ligneEntete.setFontWeight("bold");

  // Figer la première ligne
  feuille.setFrozenRows(1);

  do {
    page = AdminDirectory.Groups.list({
      customer: 'my_customer',
      maxResults: 100,
      pageToken,
      fields: 'groups(email,aliases),nextPageToken',
    });

    let groups = page.groups;

    if (groups) {
      for (let i = 0; i < groups.length; i++) {
        const group = groups[i];
        if (group.aliases && group.aliases.length > 0) {
          const rowData = [
            group.email,
            JSON.stringify(group.aliases)
          ];
          feuille.appendRow(rowData);
        }
      }
    } else {
      Logger.log('Aucun groupe trouvé.');
    }

    pageToken = page.nextPageToken;
  } while (pageToken);
}

Conclusion

Ce script Google Apps facilite l’exportation des utilisateurs et groupes avec alias de messagerie dans Google Workspace vers une feuille de calcul Google Sheets. N’hésitez pas à l’adapter à vos besoins et à le partager avec votre communauté.

Note : Assurez-vous de disposer des autorisations adéquates pour exécuter le script et accéder aux données des utilisateurs et groupes.

Laisser un commentaire