[PowerShell] Tester si le compte qui exécute le script est administrateur

Bonjour à tous,

Voici une portion de code intéressante qui vous permettra d’améliorer la qualité générale de vos scripts, particulièrement lorsque ces derniers nécessitent des droits d’administration être exécutés convenablement :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
try
{
    $User = [Security.Principal.WindowsIdentity]::GetCurrent()
    $Role = (New-Object Security.Principal.WindowsPrincipal $user).IsInRole([Security.Principal.WindowsBuiltinRole]::Administrator)
    if(!$Role)
    {
        Throw "Le compte qui exécute ce script ne dispose pas de privilèges élevés"
    }
    Write-Host "Le compte dispose de privilèges élevés"
}
catch
{
    Write-Host $_.Exception.Message -ForegroundColor Red
}

Note : Ce test fonctionne dans toutes les langues.

Enjoy 😉

Laisser un commentaire