前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >vmi:获取 windows 系统硬件信息

vmi:获取 windows 系统硬件信息

作者头像
luckpunk
发布2025-01-18 09:57:49
发布2025-01-18 09:57:49
9900
代码可运行
举报
运行总次数:0
代码可运行

在之前开发windows应用程序时,为了实现一个注册码只能注册一台设备(只要不换机器一台电脑的设备序列号是唯一的),这时需要获取使用者电脑硬件的各种常见信息,如主板信息,cpu信息等,经过查询,模块vmi可以实现我的需求。

vim简介

WMI是一项核心的Windows管理技术,WMI作为一种规范和基础结构,通过它可以访问、配置、管理和监视几乎所有的Windows资源,比如用户可以在远程计算机器上启动一个进程;设定一个在特定日期和时间运行的进程;远程启动计算机;获得本地或远程计算机的已安装程序列表;查询本地或远程计算机的Windows事件日志等等。

安装

pip install vmi

使用

代码语言:javascript
代码运行次数:0
复制
# 获取当前网卡信息

import wmi

w = wmi.WMI()
for n in w.Win32_NetworkAdapter():

    if n.MACADDress is None or n.PhysicalAdapter is False:
        continue

    mac = n.MACADDress

    name = n.Name
    if "PCI" in name:
        # 有线网卡
        print("%s: %s" % (name, mac))


# 获取当前在使用的网卡mac地址
import wmi
s = wmi.WMI()

network = []
for nw in s.Win32_NetworkAdapterConfiguration(IPEnabled=1):
    network.append(
        {
            "MAC": nw.MACAddress,
            "ip": nw.IPAddress
        }
    )

print(network)


# 获取cpu序列号
for cpu in c.Win32_Processor():
    print cpu.ProcessorId.strip()

# 获取主板序列号
for board_id in c.Win32_BaseBoard():
    # print(board_id.SerialNumber)

# 获取BIOS序列号
    for bios_id in c.Win32_BIOS():
        # print(bios_id.SerialNumber.strip)

# 获取硬盘序列号
        disk_sn_list = []
for physical_disk in c.Win32_DiskDrive():
    # print(physical_disk.SerialNumber)
    # print(physical_disk.SerialNumber.replace(" ", ""))
    disk_sn_list.append(physical_disk.SerialNumber.replace(" ", ""))
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • vim简介
  • 安装
  • 使用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档