Cómo obtener la lista de admin en Windows con Python

Aprenda a utilizar Python y el módulo win32com.client para obtener una lista de

«Aprenda a utilizar Python y el módulo win32com.client para obtener una lista de administradores locales en equipos Windows. Este tutorial le enseñará a realizar consultas WMI y a procesar el resultado para extraer la información que necesita. También le mostrará cómo guardar la lista en un archivo para su posterior uso.»

A continuación, le proporciono un ejemplo de código en Python que incluye algunas mejoras y un tutorial de uso para obtener una lista de administradores locales en equipos Windows utilizando el módulo «win32com.client», este código es muy basico:

import win32com.client

# Crea una instancia del objeto WMI
wmi = win32com.client.GetObject("winmgmts:")

# Realiza una consulta WMI para obtener la lista de administradores locales
query = "SELECT * FROM Win32_UserAccount WHERE LocalAccount = True AND SID LIKE 'S-1-5-%' AND Domain = 'NT AUTHORITY'"
accounts = wmi.ExecQuery(query)

# Recorre la lista de cuentas y muestra el nombre de cada una
for account in accounts:
    print(account.Name)


Este código crea una instancia del objeto WMI (Windows Management Instrumentation) y utiliza una consulta WMI para obtener la lista de administradores locales. La consulta filtra las cuentas que cumplan con los siguientes criterios: sean cuentas locales (LocalAccount = True), pertenezcan al espacio de nombres de seguridad local (SID LIKE ‘S-1-5-%’) y sean de dominio «NT AUTHORITY» (Domain = ‘NT AUTHORITY’).

Te puede interesar: Yandex aumenta la recompensa por vulnerabilidades dos veces

Una vez obtenida la lista de cuentas, el código recorre la lista y muestra el nombre de cada una. Si desea guardar la lista en un archivo en lugar de mostrarla por pantalla, basta con modificar el código para escribir el nombre de cada cuenta en el archivo en lugar de mostrarlo por pantalla.

A continuación, le proporciono un ejemplo de código en Python que incluye algunas mejoras y un tutorial de uso para obtener una lista de administradores locales en equipos Windows utilizando el módulo «win32com.client»:

import win32com.client

def obtener_administradores_locales():
    """
    Obtiene una lista de administradores locales en equipos Windows.
    
    Returns:
    list: Una lista de nombres de cuentas de administradores locales.
    """
    # Crea una instancia del objeto WMI
    wmi = win32com.client.GetObject("winmgmts:")
    
    # Realiza una consulta WMI para obtener la lista de administradores locales
    query = "SELECT * FROM Win32_UserAccount WHERE LocalAccount = True AND SID LIKE 'S-1-5-%' AND Domain = 'NT AUTHORITY'"
    accounts = wmi.ExecQuery(query)
    
    # Recorre la lista de cuentas y añade el nombre de cada una a una lista
    admin_list = []
    for account in accounts:
        admin_list.append(account.Name)
        
    return admin_list

# Obtiene la lista de administradores locales y la muestra por pantalla
admins = obtener_administradores_locales()
print(admins)

# Si desea guardar la lista en un archivo, puede utilizar el siguiente código:
with open("administradores_locales.txt", "w") as f:
    for admin in admins:
        f.write(admin + "\n")

Para utilizar este código, simplemente debe importarlo en su script o proyecto y llamar a la función «obtener_administradores_locales». Esta función devolverá una lista de nombres de cuentas de administradores locales. Si desea mostrar la lista por pantalla, basta con utilizar una instrucción «print» para imprimir el resultado. Si desea guardar la lista en un archivo, puede utilizar el código de ejemplo que se proporciona al final del bloque.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *