首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用Python检索当前Windows用户(AD或本地)的名称?

要使用Python检索当前Windows用户(AD或本地)的名称,您需要使用win32guipywinautoPyAutoGUI库。请确保已安装这些库,您可以使用pip或conda分别安装它们,例如:

代码语言:txt
复制
pip install win32gui
pip install pywinauto
pip install pyautogui

接下来,您需要编写以下代码:

  1. 首先导入所需的库:
代码语言:python
代码运行次数:0
复制
import win32gui
import pywinauto
from pyautogui import find_element_by_name
  1. 然后查找并确认所有Windows用户是否已被检索:
代码语言:python
代码运行次数:0
复制
# 获取桌面应用程序图标
start = pywinauto.findwindows.find_element
  1. 获取与Python交互的所有窗口:
代码语言:python
代码运行次数:0
复制
# 遍历所有窗口
window_list = [f for f in pywinauto.Windows if f.handle >= 0]
  1. 获取所有已发现的Windows用户的标题:
代码语言:python
代码运行次数:0
复制
# 遍历所有Windows用户
for window in window_list:
    if window.is_visible:  # 使用pywinauto库判断窗口是否可见
        window_title = window.window_text
        user_title = find_element_by_name("UserDisplayName").text
        print(f"当前Windows用户的标题是:{user_title}")
  1. 最后,获取具体用户/组名称,使用以下代码:
代码语言:python
代码运行次数:0
复制
# 定位Windows桌面上的用户
user = pywinauto.findwindows.find_element.get_windows(name="UserDisplayName")[0]

# 获取用户名标签的内容
current_username = find_element_by_name("UserDisplayName", user).get_attribute("value")  # 使用name关键字查找并获取标签的属性和值
  1. 执行检索,打印结果:
代码语言:python
代码运行次数:0
复制
# 输出当前Windows用户的名称
print(f"当前Windows用户名称为:{current_username}")

完整的代码示例:

代码语言:python
代码运行次数:0
复制
import win32gui
import pywinauto
from pyautogui import find_element_by_name

# 获取桌面应用程序图标
start = pywinauto.findwindows.find_element

# 获取与Python交互的所有窗口
window_list = [f for f in pywinauto.Windows if f.handle >= 0]

# 获取所有已发现的Windows用户的标题
for window in window_list:
    if window.is_visible:  # 使用pywinauto库判断窗口是否可见
        window_title = window.window_text
        user_title = find_element_by_name("UserDisplayName").text
        print(f"当前Windows用户的标题是:{user_title}")

# 定位Windows桌面上的用户
user = pywinauto.findwindows.find_element.get_windows(name="UserDisplayName")[0]

# 获取用户名标签的内容
current_username = find_element_by_name("UserDisplayName", user).get_attribute("value")  # 使用name关键字查找并获取标签的属性和值

# 输出当前Windows用户的名称
print(f"当前Windows用户名称为:{current_username}")

此示例代码会使用Python检索当前Windows用户(AD或本地)的名称。

相关搜索:如何使用Java检索当前登录用户的UPN(用户主体名称)使用角色的Directory web.config Windows身份验证适用于AD用户,但不适用于AD组或本地组使用Windows身份验证的Windows使用可读的组名获取本地C#用户组-无AD如何使用快捷码显示当前用户的显示名称?如何在Windows窗体应用程序中使用AD对话框“选择用户或组”?如何从python中检索当前k8s中的集群名称?在python中,如何在Windows中获取当前用户的SID?在Python Flask中,如何根据当前登录的用户获取角色名称?如何检查当前使用python登录计算机的用户?NetSuite使用SuiteScript如何获取当前登录的用户本地信息,例如:日期格式?Python或Vim帮助:如何使用当前工作目录作为名称来写出图像(PNG、JPEG)文件?如何使用Fabric's Answers或Google Analytics获取当前Android用户的事件计数?如何使用ESLint检测JS或TS中本地类与全局类的名称冲突?如何使用python在windows中保护用户对文件夹的访问如何删除xml或html命令行并使用python检索实际的文本数据?如何使用UserManager按Id、姓名、电子邮件或其他搜索条件获取用户(而不是当前登录的用户)?如何使用python和openpyxl将整个excel列移动到其当前位置的左侧或右侧?如何使用slcli或sl api在Softlayer中更新Windows虚拟机的"Administrator“用户密码?你如何使用漂亮的汤或一些Python库从重定向链接中抓取或检索真正的网站URL?示例如下:如何使用tkinter在python中选择多个文件或整个文件夹(显示它包含的所有文件的名称)?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

SPN信息扫描

如果客户端可能使用多个名称进行身份验证,则给定的服务实例可以具有多个SPN。例如,SPN总是包含运行服务实例的主机名称,所以服务实例可以为其主机的每个名称或别名注册一个SPN。...2.获取SPN方法 我们可以使用以下但不限于这些方法:如使用Windows自带的setspn.exe获取SPN信息、Linux跨Windows的python场景使用Impacket获取SPN信息、通过...1)SetSPN.exe是一个本地Windows二进制文件,可用于检索用户帐户和服务之间的映射。...也可以输入setspn.exe –l dm1命令获取指定用户账户的所有SPN信息。2)可以在Windows中导入AD模块GET-SPN.psm1,利用Powershell获取SPN信息。...SPN信息如果当前环境在域内,并且需要将工具落地在目标环境的情况下,常见的渗透自动化利用工具可能会被终端安全软件检测到或因为固有的流量特征被流量分析工具检测到,我们可以使用如adfind等工具,进行手动查询指定

24010

域内计算机本地管理员密码管理

随着互联网技术的不断发现,信息安全在企业中的受重视度也越来越高,终端管理是信息安全中至关重要的一环,不可能要求终端用户和服务器管理员有着一样的安全隐患意识和技术水平,因此在终端管理员层如何制定完善终端管理的制度和利用现有的技术来规范用户行为至关重要...在中大型企业中,则会使用AD活动目录来进行统一身份认证,此时域用户账号的密码则集中保留中AD数据库中,并且用户权限也是保留在AD中,AD的安全性远高于普通PC,因此安全性大大提升。...但是使用活动目录,如何管理入域计算机的本地管理员密码是企业IT运维管理员头疼的一件事,基数庞大且在处理故障时又确实需要本地管理员账号,以下我就介绍几种在企业中常见的域内计算机本地管理员账号管理方式,其中着重介绍...LAPS配置通过组策略进行管理,该组策略提供了密码复杂性,密码长度,密码更改的本地帐户名称,密码更改频率等值。当需要本地管理员密码时可直接从AD中读取,当然前提是有权限。...免费 缺点: 仅存储当前密码,并且可供检索 一次只能由LAPS管理一个本地管理员帐户的密码(只有一个密码属性) 域控制器的危害可能会危害域中的所有本地管理员帐户密码。

3K20
  • 7 个令人惊叹的 Python 库

    在过去的两年里,一直在广泛使用Python,过程中寻找到令人惊叹的库,明显提高效率,增强在数据工程和商业智能项目中的表现。...这被称为:Mojibake术语用于描述编码或解码问题而发生的乱码或乱码文本。 当使用一种字符编码编写的文本使用不同的编码错误解码时,通常会发生这种情况。...(用于 MS-DOS 和某些版本的 Windows 命令提示符) 3 Sketch Sketch是一个独特的AI代码编写助手,专为使用Python中的pandas库的用户而设计。...待续 b、如何根据邮编获取经纬度和所在地名称? 待续 5 rembg rembg 是另一个有用的库,可以轻松地从图像中删除背景。...除了广泛的可用性之外,它可以通过Python轻松获得。本文向您展示如何下载OSM数据,如下所示。图为柏林的餐馆。

    26810

    7 个令人惊叹的 Python 库

    在过去的两年里,一直在广泛使用Python,过程中寻找到令人惊叹的库,明显提高效率,增强在数据工程和商业智能项目中的表现。...这被称为:Mojibake术语用于描述编码或解码问题而发生的乱码或乱码文本。 当使用一种字符编码编写的文本使用不同的编码错误解码时,通常会发生这种情况。...(用于 MS-DOS 和某些版本的 Windows 命令提示符) 3 Sketch Sketch是一个独特的AI代码编写助手,专为使用Python中的pandas库的用户而设计。...待续 b、如何根据邮编获取经纬度和所在地名称? 待续 5 rembg rembg 是另一个有用的库,可以轻松地从图像中删除背景。...除了广泛的可用性之外,它可以通过Python轻松获得。本文向您展示如何下载OSM数据,如下所示。图为柏林的餐馆。

    28331

    SPN服务主体名称发现详解

    Kerberos是一种支持票证身份验证的安全协议。如果客户端计算机身份验证请求包含有效的用户凭据和服务主体名称 (SPN),则 Kerberos 身份验证服务器将授予一个票证以响应该请求。...SetSPN SetSPN是一个本地windows二进制文件,可用于检索用户帐户和服务之间的映射。该实用程序可以添加,删除或查看SPN注册。...由于用户已经选择了密码,因此绑定到域用户帐户而不是计算机帐户的服务更可能被配置为弱密码,而对用户有规范名称的服务应该会成为Kerberoasting攻击的针对目标。...还有一个VBS脚本也是该工具的一部分,可以为我们提供相同的信息。该脚本可以通过使用本机Windows二进制cscript从Windows命令提示符执行。...Impacket 服务主体名称(SPN)也可以从未加入域的系统中发现,impacket工具包下的python版GetUserSPNs可以为我们做到这点。

    2.8K00

    利用黄金证书劫持域控

    使用与系统的 RDP 连接,可以使用“ certsrv.msc ”的备份功能检索这些信息。 certsrv – 备份 CA 在证书颁发机构备份向导中,私钥和 CA 证书都可以导出到指定位置。...Seatbelt.exe Certificates Seatbelt – 本地机器 Mimikatz 还可以与加密存储进行交互,以检索和导出证书和私钥。...该模块最初是为创建智能卡身份验证客户端证书而开发的。所需的参数是证书颁发机构的主题名称和将创建证书的用户的用户主体名称。可选项,“ /pfx ”参数可用于定义将要创建的证书的文件名。...echo "" | base64 -d > dc$.kirbi 将 Base64 票证转换为 Kirby 票证可以传输到任何 Windows 主机,并使用传递票证技术导入任何用户会话。...从当前执行 Mimikatz 并运行以下命令的会话中,将检索作为域管理员帐户的用户 Administrator 的 NTLM 哈希。

    2K30

    从上而下的死亡:从 Azure 到 On-Prem AD 的横向移动

    AD 将解释我们如何滥用 Microsoft Endpoint Manager 从 Azure 租户横向移动到本地 AD 域。...请注意,混合连接的 Windows 系统不是您可以使用 Microsoft Intune 定位的唯一系统类型 - 您还可以定位连接 Azure 的 Windows 系统和 Azure 或混合连接的 macOS...如果组织正在使用混合 Azure AD 加入来管理本地 Windows 系统,则控制“全局管理员”或“Intune 管理员”主体的攻击者可以作为 SYSTEM 用户在这些本地设备上执行任意 PowerShell...接下来,以激活“全局管理员”或“Intune 管理员”角色的用户身份登录 Azure Web 门户(我们将在稍后的帖子中讨论如何升级到这些角色。)...您当前需要使用 Web GUI 在这两个位置列出符合条件的角色分配。

    2.6K10

    Microsoft 本地管理员密码解决方案 (LAPS)

    LAPS 使用安装在托管计算机上的组策略客户端扩展 (CSE) 来执行所有管理任务。该解决方案的管理工具提供了简单的配置和管理。 LAPS 是如何工作的?...确保网络上每台计算机上的本地管理员帐户密码都不同,可以减轻攻击者使用本地凭据将管理控制扩展到单个系统之外的能力。 它是如何配置的?...在域或组织单位 (OU) 级别进行委派,以便计算机可以更新其LAPS密码。 OU 级别的委派使 AD 组能够查看或强制重置计算机本地管理员帐户密码。...专注于适当的授权,这种风险就会得到缓解。 只有当前密码被存储并可用于检索。 LAPS一次只能管理一个本地管理员帐户的密码(只有一个密码属性)。 域控制器泄露可以泄露域中的所有本地管理员帐户密码。...有关如何删除扩展权限的其他信息,请参阅 LAPS 操作指南(其中一些位于本文末尾的委派部分。 LAPS 启用本地管理员帐户 (RID 500) 密码或其他自定义本地帐户的密码管理。

    4K10

    攻击 Active Directory 组托管服务帐户 (GMSA)

    当我们在 Trimarc 执行 Active Directory 安全评估时,我们发现在 AD 环境中组托管服务帐户的使用有限。应尽可能使用 GMSA 将用户帐户替换为服务帐户,因为密码将自动轮换。...组管理服务帐户 (GMSA) 创建用作服务帐户的用户帐户很少更改其密码。组托管服务帐户 (GMSA)提供了一种更好的方法(从 Windows 2012 时间框架开始)。密码由 AD 管理并自动更改。...运行 AD PowerShell cmdlet Get-ADServiceAccount,我们可以检索有关 GMSA 的信息,包括特定的 GMSA 属性。...破坏其中一个,GMSA 帐户就会受到破坏,并且由于它是域中管理员组的成员,因此我们拥有该域。 一旦我们破坏了能够提取明文密码的用户(或计算机!)帐户。...在这里,我使用 PSEXEC 生成在本地 SYSTEM 帐户的上下文下运行的命令 shell。一旦以 SYSTEM 身份运行,我们就可以执行如上所示的相同操作。

    2K10

    如何使用Maskyi并通过ADCS远程导出域用户凭证

    关于Masky Masky是一个功能强大的Python库,Masky带有自己的命令行接口,可以允许广大研究人员在不需要转储LSASS进程内存数据的情况下,通过一个ADCS远程导出域用户凭证。...实际上,它只利用合法的Windows和活动目录功能(令牌模拟、通过kerberos的证书身份验证和通过PKINIT的NT哈希检索)。...工具使用 Masky提供了一个命令行接口,以便广大渗透测试人员和红队研究人员在活动中使用。 针对这两种使用场景,我们首先需要检索CA服务器的FQDN及其通过ADC部署的CA名称。...这部分信息可以通过certipy查找选项或Microsoft内置的certutil.exe工具轻松检索,不过需要确保在目标CA上启用了默认User模板。...(向右滑动,查看更多) Python库使用 下面的脚本使用了Masky库来从远程目标收集正在运行的域用户会话信息: from masky import Masky from getpass

    57640

    如何使用gssapi-abuse检测活动目录网络内存在GSSAPI滥用风险的主机

    功能介绍 当前版本的gssapi-abuse具备以下两个功能: 1、枚举加入了活动目录中的非Windows主机,且这些主机能够通过SSH提供GSSAPI身份验证; 2、针对没有正确的正向/反向查找DNS...工具安装 由于该工具基于Python 3开发,因此我们首先需要在本地设备上安装并配置好Python 3环境。...接下来,广大研究人员可以使用下列命令将该项目源码克隆至本地: git clone https://github.com/CCob/gssapi-abuse.git Windows 在Windows主机中...获取到非Windows主机列表之后,gssapi-abuse将尝试通过SSH连接列表中的每一台主机,以判断是否支持基于GSSAPI的身份验证。 使用样例 python ....使用样例 针对ahost.ad.ginge.com主机添加一个DNS A记录: python .

    11510

    安全测试工具(连载5)

    此外,您还可以运行您自己的SQL语句。-a, --all:检索所有内容 -b, --banner:检索数据库管理系统的标识。 --current-user:检索数据库管理系统的当前用户。...--current-db:检索数据库管理系统当前数据库。 --hostname:检索数据库服务器的主机名。 --is-dba :检测数据库管理系统当前用户是否DBA。...--count:检索表的条目数。 --dump:转储数据库管理系统的数据库中的表项。 --dump-all:转储数据库管理系统的数据库中的表项。 --search:搜索列,表和/或数据库名称。...:主列名称。 --where=DUMPWHERE:使用WHERE条件进行表转储。 --start=LIMITSTART:第一个查询输出进入检索。...--udf-inject:注入用户自定义函数。 --shared-lib=SHLIB:共享库的本地路径。Windows注册表访问这些选项可以被用来访问后端数据库管理系统Windows注册表。

    1.8K20

    sqlmap简单中文说明

    id=1″ –current-user #获取当前用户名称 sqlmap -u "http://www.xxoo.com/news?...-b, –banner 检索数据库管理系统的标识 –current-user 检索数据库管理系统当前用户 –current-db 检索数据库管理系统当前数据库 –is-dba 检测 DBMS 当前用户是否...转储所有的 DBMS 数据库表中的条目 –search 搜索列(S),表(S)和/或数据库名称(S) -D DB 要进行枚举的数据库名 -T TBL 要进行枚举的数据库表 -C COL 要进行枚举的数据库列...Framework 本地的安装路径 –tmp-path=TMPPATH 远程临时文件目录的绝对路径 Windows 注册表访问: 这些选项可以被用来访问后端数据库管理系统 Windows 注册表。.../ Polipo)代理地址 –wizard 给初级用户的简单向导界面 SQLMAP的部分用法 内容摘自网络,整理:mer4en7y 1)判断当前用户是否是dba python sqlmap.py

    1.5K70

    Certified Pre-Owned

    证书颁发机构 Web 注册 此组件提供了一种在用户使用未加入域或运行 Windows 以外的操作系统的设备的情况下颁发和续订证书的方法。...CES 使用户、计算机或应用程序能够通过使用 Web 服务连接到 CA: 请求、更新和安装颁发的证书。 检索证书吊销列表 (CRL)。 下载根证书。 通过互联网或跨森林注册。...为属于不受信任的 AD DS 域或未加入域的计算机自动续订证书。 证书注册策略 Web 服务 该组件使用户能够获取证书注册策略信息。...经理批准请求的证书是禁用的 无需授权签名 过于宽松的证书模板授予低特权用户注册权 证书模板定义启用身份验证的 EKUs 证书模板允许请求者指定其他主题替代名称(主题名称) 具体在AD DC中体现在证书模板中的设置错误...生成的证书可以与Rubeus一起使用来请求 TGT(和/或检索用户的 NTLM;) 由于我们没有经过正常的签发流程,这个伪造的证书是不能撤销的。在ADCS中也没办法发现这个伪造的证书。

    1.8K20

    一.获取Windows主机信息、注册表、U盘历史痕迹和回收站文件

    WMI作为一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的Windows资源,比如用户可以在远程计算机器上启动一个进程;设定一个在特定日期和时间运行的进程;远程启动计算机;获得本地或远程计算机的已安装程序列表...;查询本地或远程计算机的Windows事件日志等等。...本文使用Python获取Windows系统上相关的信息可以使用WMI接口,安装调用PIP工具即可。...获取用户名称的代码如下: 执行结果如下,我们可以通过读取含有Users字段的数据,从而间接获取用户账户信息。...输出结果如下图所示: 第四步,用python将用户的SID关联起来,使用Windows注册表将SID转化为一个准确的用户名。

    2.6K20

    三十二.Python攻防之获取Windows主机信息、注册表、U盘痕迹和回收站(1)

    WMI作为一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的Windows资源,比如用户可以在远程计算机器上启动一个进程;设定一个在特定日期和时间运行的进程;远程启动计算机;获得本地或远程计算机的已安装程序列表...;查询本地或远程计算机的Windows事件日志等等。...本文使用Python获取Windows系统上相关的信息可以使用WMI接口,安装调用PIP工具即可。...获取用户名称的代码如下: 执行结果如下,我们可以通过读取含有Users字段的数据,从而间接获取用户账户信息。...输出结果如下图所示: 第四步,用python将用户的SID关联起来,使用Windows注册表将SID转化为一个准确的用户名。

    1.4K10
    领券