Rimush
@Rimush

Как узнать полное имя владельца текущей учетной записи?

На работе у каждого своя учетная (windows) запись в домене.
Я для своей программы хочу выводить ФИО автоматически, благо каждая учетка подписана.
Но все способы которые нашел выдают только имя аккаунта, а как получить имя владельца учетки?

Нашел способ:
import win32api
import win32net
user_properties = win32net.NetUserGetInfo(None, win32api.GetUserName(), 20)

но он выдает ошибку:
user_properties = win32net.NetUserGetInfo(None, win32api.GetUserName(), 20)
pywintypes.error: (2221, 'NetUserGetInfo', 'Не найдено имя пользователя.')

Я так понимаю, что проблема в том, что на самом ПК такого юзера нет, а берется он из домена.
  • Вопрос задан
  • 320 просмотров
Решения вопроса 1
Rimush
@Rimush Автор вопроса
Нашел решение:
import ctypes

def get_display_name():
    GetUserNameEx = ctypes.windll.secur32.GetUserNameExW
    NameDisplay = 3

    size = ctypes.pointer(ctypes.c_ulong(0))
    GetUserNameEx(NameDisplay, None, size)

    nameBuffer = ctypes.create_unicode_buffer(size.contents.value)
    GetUserNameEx(NameDisplay, nameBuffer, size)
    return nameBuffer.value

print(get_display_name())
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы