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: