2016-11-17 1012 views

回答

1

在這裏你去:

import os 
domain = os.environ['userdomain'] 
print(domain) 

(不過我看這行的也給FQDN,但只有NetBIOS名稱)

+0

getpass.getuser()+'\\'+ os.environ ['userdnsdomain'] – leancz

+0

@leancz yhea,即時給你一切 – Amperclock

0

域是指主機名?如果是,嘗試這個辦法:

import socket 
socket.getfqdn() 
+0

此處的域名代表活動目錄(或Windows NT for dinosaurs ...)域。它可能與主機名不同。 –

+0

@SergeBallesta,謝謝你的解釋。 :-) –

+0

返回計算機的域名 –

1

如果你有pywin32安裝後,可以調用相應的Windows功能:

import win32api 
win32api.GetUserNameEx(win32api.NameSamCompatible) 

退房this MSDN page用於其他可能的參數和輸出。

+0

這將返回登錄會話用戶名稱,它也應該作爲'%USERNAME%'和'%USERDOMAIN%'環境變量提供。此名稱幾乎總是與進程訪問令牌中的用戶SID一致,除了3個常用服務帳戶(即SYSTEM,LOCAL SERVICE和NETWORK SERVICE)以機器名稱後跟一個美元符號登錄(例如「SPAMBOX $」 )。如果您使用其中一個帳戶作爲服務運行,那可能會讓您感到驚訝。 – eryksun