如何在AD环境下在Python+Windows中登录用户名?

如何在AD环境下在Python+Windows中登录用户名?,python,python-3.x,windows,pywin32,Python,Python 3.x,Windows,Pywin32,我想获取当前登录用户的完整显示名称。我在Active Directory登录,所以通常我很容易获得用户名,但我在寻找用户的显示名 path=os.path.join“..”、“文档和设置”、getpass.getuser、“桌面” os.getlogin 这不起作用,因为它提供的是用户名而不是显示名。这是您想要的吗 import ctypes def get_display_name(): GetUserNameEx = ctypes.windll.secur32.GetUserNam

我想获取当前登录用户的完整显示名称。我在Active Directory登录,所以通常我很容易获得用户名,但我在寻找用户的显示名

path=os.path.join“..”、“文档和设置”、getpass.getuser、“桌面” os.getlogin

这不起作用,因为它提供的是用户名而不是显示名。

这是您想要的吗

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())
第二稿

user_info = win32net.NetUserGetInfo(win32net.NetGetAnyDCName(),   win32api.GetUserName(), 2)
full_name = user_info["full_name"]
print(full_name)

@Vulpex不重复,我不是问用户名,我是问用户的显示名。我引用:我正在尝试获取用户的全名。不是登录名,链接问题的第一句话。是的,从另一篇文章中得到,很有效。