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

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:

The following two tabs change content below.
Arquiteto de Software e Desenvolvedor Backend (quase Fullstack), geralmente trabalho com C#, PowerShell, Python, Golang, bash e Unity (esse é mais por hobby). Estou sempre buscando algo novo para aprender, adicionando novas ferramentas ao meu cinto de utilidades.
Posted in Dev, Python and tagged , , , .