Usando Python para verificar se o programa está sendo executado como Admin

Usando Python para verificar se o programa está sendo executado como Admin

Overview

Seja bem-vindo à nossa jornada tecno-mágica onde desvendamos os segredos de Python para identificar magos poderosos (leia-se administradores) entre meros mortais nos vastos reinos de Unix e Windows! 🌟 Descubra com um feitiço simples, mas poderoso, como discernir se possui o poder supremo de administrar seu sistema - com a exceção de um antigo reino conhecido como Windows XP. Prepare-se para uma aventura codificada, cheia de aprendizado!

O fonte abaixo verifica se o programa está sendo executado com privilégios de administrador e não é dependente de sistemas operacionais…. mas não funciona com com Windows XP. 🙁

import ctypes, os

def is_admin():
    try:
        is_admin = (os.getuid() == 0)
    except AttributeError:
        is_admin = ctypes.windll.shell32.IsUserAnAdmin() != 0
    return is_admin

O código acima tenta verificar se está sendo executado como administrador em um ambiente Unix. Se ocorrer uma exceção como, por exemplo, o sistema operacional não conseguir identificar uma variável Unix, a função tenta verificar no ambiente windows.

No final, ele retorna true ou false, dependendo do resultado.

Como utilizar:

if isAdmin():
    print("É administrador!")
else:
    print("Mero mortal!")

Referência:

Traduções: