以其他用户身份启动 python 后获取 winlows 登录名

Get winlows login name after launching python as another user

我已经使用 py2exe 创建了我的 python 文件的 exe,并且 运行 这个 exe 具有特定用户(用于目录访问权限)。现在可执行文件位于不同的登录名中,如何我可以得到系统的用户名吗

getpass.getuser()
os.getenv('username')

return exe 的当前用户是 运行。 如何获取用户的实际登录信息?

如果我没理解错的话

以用户 (Geoff) 身份登录。 Geoff 以管理员用户身份运行可执行文件,您想获取 Geoff 的用户名吗?如果这就是你要问的,这是我的解决方案。

def getregvalue(key, subkey, value):

    import _winreg

    key = getattr(_winreg, key)
    handle = _winreg.OpenKey(key, subkey)
    (value, type) = _winreg.QueryValueEx(handle, value)

return value

print getregvalue("HKEY_LOCAL_MACHINE", "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon", "DefaultUserName")

这将从注册表中获取登录的用户名,而不是从用户 运行 进程的特权令牌中获取。