在Python中,我如何獲取以域\用戶名格式登錄的用戶名。以下只是取得用戶名:Python:如何獲取登錄用戶的域用戶名
import getpass
import os;
print(os.getlogin())
print(getpass.getuser())
在Python中,我如何獲取以域\用戶名格式登錄的用戶名。以下只是取得用戶名:Python:如何獲取登錄用戶的域用戶名
import getpass
import os;
print(os.getlogin())
print(getpass.getuser())
在這裏你去:
import os
domain = os.environ['userdomain']
print(domain)
(不過我看這行的也給FQDN,但只有NetBIOS名稱)
getpass.getuser()+'\\'+ os.environ ['userdnsdomain'] – leancz
@leancz yhea,即時給你一切 – Amperclock
域是指主機名?如果是,嘗試這個辦法:
import socket
socket.getfqdn()
此處的域名代表活動目錄(或Windows NT for dinosaurs ...)域。它可能與主機名不同。 –
@SergeBallesta,謝謝你的解釋。 :-) –
返回計算機的域名 –
如果你有pywin32
安裝後,可以調用相應的Windows功能:
import win32api
win32api.GetUserNameEx(win32api.NameSamCompatible)
退房this MSDN page用於其他可能的參數和輸出。
這將返回登錄會話用戶名稱,它也應該作爲'%USERNAME%'和'%USERDOMAIN%'環境變量提供。此名稱幾乎總是與進程訪問令牌中的用戶SID一致,除了3個常用服務帳戶(即SYSTEM,LOCAL SERVICE和NETWORK SERVICE)以機器名稱後跟一個美元符號登錄(例如「SPAMBOX $」 )。如果您使用其中一個帳戶作爲服務運行,那可能會讓您感到驚訝。 – eryksun
是win還是linux需要? –