如何在AD环境中的Python + Windows中登录用户显示名称? [重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

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

path = os.path.join('..','Documents and Settings',getpass.getuser(),'Desktop')os.getlogin()

这不起作用,因为它给用户名而不是显示名称。

python python-3.x windows pywin32
1个回答
1
投票

这是你想要的吗?

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)
© www.soinside.com 2019 - 2024. All rights reserved.