28 novembre 2024

Krusell France

Ta dose d'actu digital !

Vérifier si un script PowerShell est exécuté en tant qu’administrateur

Vérifier si un script PowerShell est exécuté en admin
Rate this post

Créer une fonction PowerShell pour vérifier si un script PowerShell est exécuté en tant qu’administrateur est crucial pour garantir le bon fonctionnement de certaines tâches. Découvrez comment réaliser cette vérification dès le lancement du script.

Le code PowerShell

Dans un premier temps, stockons la liste des permissions de l’utilisateur exécutant le script PowerShell dans la variable “$UserCurrentPrincipal”. Cela nous permettra de déterminer si cet utilisateur est un administrateur local.

Avec la ligne de code suivante :

$UserCurrentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent())

Nous parcourons ensuite cet objet pour savoir si l’utilisateur dispose du rôle “Administrator” sur la machine locale, en utilisant la méthode “IsInRole”.

$UserIsAdmin = $UserCurrentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)

En simplifiant davantage le code, la vérification peut aussi s’effectuer en une seule ligne :

$UserIsAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] “Administrator”)

En créant une fonction nommée “Test-AdminContext” qui retourne la valeur de “$UserIsAdmin”, nous pouvons facilement vérifier si le script est exécuté en tant qu’administrateur.

En cas de non-exécution du script en tant qu’administrateur, un message d’avertissement s’affiche et l’exécution du script est interrompue. Dans le cas contraire, le script continue son exécution.

Une variante consiste à intégrer le test dans la fonction elle-même, simplifiant ainsi l’appel de la fonction.

Conclusion

Cette fonction et le code associé sont essentiels pour s’assurer que les scripts PowerShell nécessitant des privilèges élevés fonctionnent correctement. N’hésitez pas à utiliser ou adapter ce code selon vos besoins pour une exécution en toute sécurité.

Source : www.it-connect.fr

  • julien castex redacteur tech

    Julien est un journaliste tech polyvalent avec une expérience couvrant divers aspects de la high tech, en passant par les smartphones et l'Intelligence Artificielle. Il écrit sur les dernières tendances technologiques, les startups et les projets innovants ainsi que les impacts de la technologie sur la société.

    Voir toutes les publications