使用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()

输出结果:

相关推荐
艾莉丝努力练剑2 分钟前
【AI大模型接入SDK】Gemini模型接入知识体系
java·开发语言·网络·人工智能·网络协议·学习·http
AC赳赳老秦2 分钟前
电力能源公开数据采集实操:用 OpenClaw 合规抓取电网电价与发电量数据,生成区域能源供需分析报告
大数据·数据库·人工智能·python·php·deepseek·openclaw
应用市场3 分钟前
GPT vs Claude 深度对比(2026年9月):从模型特性到编程实战,开发者该怎么选
python·gpt·flask
传奇开心果编程5 分钟前
【Rust入门知识点学与练】第13课:枚举 Enum
开发语言·学习·rust
IT毕设实战小研6 分钟前
基于大数据的WTA职业网球赛事演变与竞技格局数据可视化分析
大数据·后端·爬虫·python·信息可视化·课程设计
veminhe10 分钟前
python发送邮件带附件
python
zhanghaha131410 分钟前
Python进阶教程:28_queue 队列模块 零基础超详细教程
java·开发语言·python
司小豆15 分钟前
第七课:DeepSeek Harness 服务与依赖注入
java·服务器·开发语言·github·ai编程
小柯南敲键盘17 分钟前
跨马翻译AI工具,批量图片视频翻译与智能抠图一站式解决
人工智能·python·音视频
veminhe19 分钟前
python对象的序列化和反序列化
python