LILINE’S LAB

Tester la validité d’un UPN EntraID avec PowerApps

par | Mar 24, 2024 | Microsoft, Power Apps

Dans cet article nous allons voir comment créer un testeur d’UPN EntraID avec PowerApps.
Un UPN comporte un préfixe qui est le nom de compte d’utilisateur et un suffixe qui est le nom de domaine. Le suffixe et le préfixe sont reliés par un arobase.

Le champ « Veillez entrez un nom d’utilisateur » est un champ texte nommé « Résultat » dans l’application Power Apps. Ce champ va afficher les différents messages relatifs à la construction du nom d’utilisateur au fur et à mesure de la saisie du nom d’utilisateur dans le champ de saisie se trouvant au-dessus.

Voici le code de champ et les commentaires du code afin de mieux comprendre sa construction.

Power Query
If(
    // On vérifie que le nom d'utilisateur comporte au moins un caractère.
    Len(MailPersonnalisé.Text) < 1;
    // Si le nom d'utilisateur est vide on invite à entrer un nom d'utilisateur.
    "Veuillez entrez un nom d'utilisateur.";
    
    // On vérifie si le nom d'utilisateur ne fait pas plus de 64 caractères.
    Len(MailPersonnalisé.Text) > 64;
    // Si le nom d'utilisateur contient plus de 64 caracètres on renvoie un message l'indiquant.
    "Ce nom d'utilisateur contient plus de 64 caractères. Veuillez en choisir un autre.";
    
    // On vérifie que le nom d'utilisateur ne contient que des lettres, des chiffres, un tiret et/ou un point. 
    !IsMatch(
        MailPersonnalisé.Text;
        "^[A-Za-zéçï0-9 .-]*$"
    );
    // Si le nom d'utilisateur contient des caractères spéciaux on renvoie un message l'indiquant.
    "Ce nom d'utilisateur contient des caractères spéciaux. Seuls les chiffres, les lettres, le point (.), le tiret (-) le c cédille (ç) et les lettres é et ï sont autorisés.";
    
    // On regarde si le nom d'utilisateur existe déjà sur le tenant tout en remplaçant les caractères spéciaux (é,ç,ï) par des caractères non-spéciaux (e,c,i), en supprimant les espaces et en passant tous les caractères en miniscules.
    IsEmpty(
        'Utilisateursd’Office365'.SearchUserV2(
            {
                searchTerm: Concatenate(
                    Lower(
                        Substitute(
                            Substitute(
                                Substitute(
                                    Substitute(
                                        MailPersonnalisé.Text;
                                        "é";
                                        "e"
                                    );
                                    "ï";
                                    "i"
                                );
                                "ç";
                                "c"
                            );
                            " ";
                            ""
                        ) & "@<tenant>.onmicrosoft.com"
                    )
                )
            }
        ).value
    ) = false;
    // Si le nom d'utilisateur existe déjà on renvoie un message l'indiquant.
    "Ce nom d'utilisateur est déjà utilisé. Veuillez en choisir un autre.";
    
    // Si toutes les conditions sont respectées l'UPN est construit (en remplaçant les caractères spéciaux (é,ç,ï) par des caractères non-spéciaux (e,c,i), en supprimant les espaces et en passant tous les caractères en minisucules. L'UPN peut ensuite être envoyé à un flux PowerAutomate pour créer l'UPN dans EntraID.
    Concatenate(
        "Bravo le mail " & Lower( 
            Substitute(
                Substitute(
                    Substitute(
                        Substitute(
                            MailPersonnalisé.Text;
                            "é";
                            "e"
                        );
                        "ï";
                        "i"
                    );
                    "ç";
                    "c"
                );
                " ";
                ""
            )
        ) & "@<tenant>.onmicrosoft.com" & " est disponible !"
    )
)


logo du site

   


Consultante spécialisée dans les technologies Microsoft, je justifie de plus de 14 ans d’expérience dans le secteur IT.
Mon parcours professionnel, riche et varié, m’a permis de développer de solides compétences, tant techniques qu’humaines. Je suis reconnue pour ma capacité à analyser rapidement les enjeux techniques et à concevoir des solutions pertinentes, y compris sur des problématiques complexes.
Mon approche proactive, alliée à mes compétences en développement, me permet de proposer des évolutions efficaces, toujours en cohérence avec les objectifs métiers.
En parallèle de mon activité professionnelle, je prends plaisir à approfondir mes compétences techniques en réalisant des projets personnels. Je développe notamment des jeux web basés sur React et PHP.