以其他用户身份启动python后获取winlows登录名
我已经使用py2exe创建了python文件的exe,并使用特定的用户(用于目录访问权限)运行该exe。现在该可执行文件位于不同的登录名中,如何获取系统的用户名以其他用户身份启动python后获取winlows登录名,python,python-2.7,py2exe,Python,Python 2.7,Py2exe,我已经使用py2exe创建了python文件的exe,并使用特定的用户(用于目录访问权限)运行该exe。现在该可执行文件位于不同的登录名中,如何获取系统的用户名 getpass.getuser() os.getenv('username') 返回exe正在运行的当前用户。 如何获得用户的实际登录信息?如果我理解正确 以用户身份登录(Geoff)。Geoff以管理员用户身份运行可执行文件,您想获取Geoff的用户名吗?如果这是你要问的问题,这是我的解决方案 def getregvalue(key
getpass.getuser()
os.getenv('username')
返回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")
这将从注册表中获取登录的用户名,而不是从运行进程的用户的特权令牌中获取。正是我想要的,!,我看到了类似的例子,主要是指使用Win32子流程。。。但是这个解决方案是一个干净的方法来实现这一点。非常感谢。