使用python获取Windows产品标签

使用python获取Windows产品

2种方法:

1、使用WMIC命令查询

2、查询注册表BackupProductKeyDefault

示例代码:

python 复制代码
import subprocess
import winreg
import sys

def run_as_admin():
    """请求以管理员权限运行脚本"""
    try:
        # 此处可放置获取密钥的主要代码
        main()
    except PermissionError:
        print("请以管理员身份运行此脚本。")
        sys.exit(1)

def main():
    print("尝试获取Windows产品密钥...")
    print("-" * 40)

    # 方法1: 使用wmic命令
    print("方法1 - 使用WMIC命令查询:")
    try:
        result = subprocess.run(
            ['wmic', 'path', 'softwarelicensingservice', 'get', 'OA3xOriginalProductKey'],
            capture_output=True,
            text=True,
            check=True
        )
        # 清理输出,提取密钥
        lines = result.stdout.strip().split('\n')
        if len(lines) > 1 and lines[1].strip():
            key = lines[1].strip()
            print(f"  找到密钥: {key}")
        else:
            print("  未找到密钥 (可能为数字许可证激活)")
    except subprocess.CalledProcessError as e:
        print(f"  执行失败: {e}")

    # 方法2: 查询注册表 BackupProductKeyDefault
    print("\n方法2 - 查询注册表BackupProductKeyDefault:")
    try:
        reg_path = r"SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform"
        with winreg.OpenKey(winreg.HKEY_LOCAL_MACHINE, reg_path) as key:
            value, reg_type = winreg.QueryValueEx(key, "BackupProductKeyDefault")
            if value:
                print(f"  注册表备份密钥: {value}")
            else:
                print("  注册表值为空")
    except FileNotFoundError:
        print("  注册表键或值不存在")
    except Exception as e:
        print(f"  读取注册表失败: {e}")

    print("\n" + "-" * 40)
    print("提示:如果未获取到有效密钥,您的系统可能是通过"数字许可证"激活的。")

if __name__ == "__main__":
    # 检查是否为管理员权限,Windows下可根据需要自行添加UAC检查逻辑
    run_as_admin()

输出结果:

相关推荐
阿里嘎多学长4 小时前
2026-10-20 GitHub 热点项目精选
开发语言·程序员·github·代码托管
happylifetree4 小时前
Python67:核心语法-函数进阶-参数类型(函数作为参数)
python
布吉岛的石头4 小时前
Java 程序员第 50 阶段2:预训练的目标函数:自回归语言建模本质
java·开发语言·人工智能·深度学习·回归·transformer
小羊没烦恼!5 小时前
铁道部新客票系统设计(二)
开发语言·前端·数据库·python·oracle·c#·php
quantdash_cc5 小时前
从实时行情到价格观察表:用 Python 和 Pandas 构建策略输入数据
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
镜子AI6 小时前
镜子AI工程实践:用 Python 做 GEO 实体一致性审计,并自动生成 JSON-LD 结构化数据
人工智能·python·json
昂好的day6 小时前
VisionMaster 通信模块实战(上):Modbus、TCP 收发、协议组装解析
开发语言·网络·网络协议·tcp/ip·c#
努力实干7 小时前
面向对象设计原则——C++
开发语言·c++·数码相机
NetX行者9 小时前
四语言 Hello World 背后:编译模型与运行时对比
开发语言
Zucker n9 小时前
英语“论文”语法检查工具
linux·windows