Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:如何为登录用户获取域\用户名_Python_Windows_Active Directory - Fatal编程技术网

Python:如何为登录用户获取域\用户名

Python:如何为登录用户获取域\用户名,python,windows,active-directory,Python,Windows,Active Directory,在Python中,如何以domain\username格式获取登录的用户名。以下内容仅用于获取用户名: 导入getpass 导入操作系统 打印(os.getlogin()) 打印(getpass.getuser()) 域是指主机名吗?如果是,请尝试以下操作: import socket socket.getfqdn() 给你: import os domain = os.environ['userdomain'] print(domain) (但我发现这并没有给出FQDN,但只有NetBIO

在Python中,如何以domain\username格式获取登录的用户名。以下内容仅用于获取用户名:

导入getpass
导入操作系统
打印(os.getlogin())
打印(getpass.getuser())

域是指主机名吗?如果是,请尝试以下操作:

import socket
socket.getfqdn()
给你:

import os
domain = os.environ['userdomain']
print(domain)
(但我发现这并没有给出FQDN,但只有NetBIOS名称)

如果您已经安装,您可以调用相应的Windows函数:

import win32api
win32api.GetUserNameEx(win32api.NameSamCompatible)

查看其他可能的参数和输出。

因为我看不到完整的答案,所以请继续。希望这有帮助

>>> import os
>>> print(os.environ['userdomain'] + '\\' + os.getlogin())
DOMAIN\user
>>>

应该可以在Python2和Python3中使用

import getpass
import platform

print(getpass.getuser()) #username
print(platform.node()) #hostname

是否需要win或linux?此处的域名代表Active Directory(或Windows NT代表恐龙…)域。它可以不同于主机名。它返回计算机GetPass.getuser()+'\\'+os.environ['userdnsdomain']@leancz yhea的域名,这会立即为您提供所有信息。它返回登录会话用户名,该用户名还应作为
%USERNAME%
%USERDOMAIN%
环境变量提供。此名称几乎总是与进程访问令牌中的用户SID一致,但3个公共服务帐户(即系统、本地服务和网络服务)以计算机名称和美元符号(例如“SPAMBOX$”)登录除外。如果您使用其中一个帐户作为服务运行,这可能会让您感到惊讶。