#RequireAdmin impose au script de fonctionner avec les droits administrateur. C'est à dire que vous devez lancer le script à partir d'un compte administrateur ou le lancer avec l'option 'Exécuter en tant qu'administrateur'.
La solution proposée ici est différente car dans le cas présent, le script vérifie si il est lancé en tant qu'admin ou non et selon le cas il continue son exécution (compte admin) ou il ce relance lui-même mais avec les droits admin (autre cas).
Pour résumer, ceci permet à un utilisateur normal de lancer un script qui exécutera des taches nécessitant des droits administrateur, sans pour autant changer de session ou exécuter le script en rentrant login/mot de passe qu'il ne doit pas connaitre ...
