1
我已經使用py2exe創建了一個python文件的exe文件,並且運行了一個特定用戶的exe文件(用於目錄訪問權限)。現在,該可執行文件位於不同的登錄名我可以得到系統的用戶名嗎?以另一用戶身份啓動python後獲取winlows登錄名
getpass.getuser()
os.getenv('username')
返回正在運行的當前用戶。 我如何得到用戶的實際登錄名?
我已經使用py2exe創建了一個python文件的exe文件,並且運行了一個特定用戶的exe文件(用於目錄訪問權限)。現在,該可執行文件位於不同的登錄名我可以得到系統的用戶名嗎?以另一用戶身份啓動python後獲取winlows登錄名
getpass.getuser()
os.getenv('username')
返回正在運行的當前用戶。 我如何得到用戶的實際登錄名?
如果我理解正確。
以用戶身份登錄(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")
這將從註冊表中獲取登錄用戶名,而不是從運行該進程的用戶的權限令牌中獲取。
正是我在找什麼,!,我看到了類似的例子,主要是使用subprocesswin32 ...但這個解決方案是一個乾淨的方式來達到這個目標。謝謝!, – user2015144