首页 > 系统相关 >vmi:获取 windows 系统硬件信息

vmi:获取 windows 系统硬件信息

时间:2024-05-09 14:47:29浏览次数:26  
标签:Win32 vmi windows SerialNumber 硬件 获取 print 序列号 disk

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

vim简介

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

安装

pip install vmi

使用

# 获取当前网卡信息

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(" ", ""))

标签:Win32,vmi,windows,SerialNumber,硬件,获取,print,序列号,disk
From: https://www.cnblogs.com/luckzack/p/18182208

相关文章

  • windows系统android studio启动模拟器蓝屏重启的解决方案
    我使用的是惠普笔记我电脑原有的默认配置:主要是参考其它博主的,发现这些都已默认设置好了1、虚拟化:已启动 2、Hyper-V:已取消  解决办法:androidstudio-->File-->Settings-->搜索:sdk-->AndroidSDK>SDKTools-->查看是否安装了:IntelX86EmulatorAccelerat......
  • Nexpose v6.6.250 for Linux & Windows - 漏洞扫描
    Nexposev6.6.250forLinux&Windows-漏洞扫描Rapid7VulnerabilityManagement,ReleaseMay02,2024请访问原文链接:Nexposev6.6.250forLinux&Windows-漏洞扫描,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org您的本地漏洞扫描程序搜集通过实时......
  • Metasploit Pro 4.22.3-2024050201 (Linux, Windows) - 专业渗透测试框架
    MetasploitPro4.22.3-2024050201(Linux,Windows)-专业渗透测试框架Rapid7Penetrationtesting,ReleaseMay03,2024请访问原文链接:MetasploitPro4.22.3-2024050201(Linux,Windows)-专业渗透测试框架,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org世......
  • windows下源码编译CMake项目
    Cmake项目1、安装路径和源码安装包下载地址:https://cmake.org/download/源码地址https://github.com/Kitware/CMake2、编译源码下载后会有一个CMake-master的文件夹在里面新建一个build目录打开cmake-gui可执行文件出现cmake的界面,设置source路径为刚刚的CMake-......
  • 视频汇聚边缘网关EasyCVR硬件设备无法访问域名,解析失败该如何处理?
    安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。视频汇聚融合管理平台EasyCVR既具备传统安防视频监控的能力,也具备接入AI智能分析的能力......
  • 在Linux中,如何排查硬件故障?
    排查Linux系统中的硬件故障是一个系统化的过程,涉及到对不同硬件组件的检查和分析。以下是排查硬件故障的详细步骤:1.使用系统日志和诊断工具dmesg:运行dmesg命令查看内核消息缓冲区,可以发现启动时的硬件错误信息。journalctl:对于使用systemd的系统,使用journalctl-k查......
  • Windows备份和恢复驱动程序详解
    在进行系统重装后,驱动程序的重新安装通常是一项繁琐的任务。为了简化这一过程并降低数据丢失的风险,建议对Windows驱动程序进行备份。以下是一个指南,用于备份和恢复驱动程序。备份驱动程序启动PowerShell:首先,点击“开始”菜单,在搜索框中输入“WindowsPowerShell”,并以管理员权......
  • Windows平台git clone文件路径太长报错
    问题描述在Windows下拉取一些比较大的开源项目经常会提示文件路径太长(filenametoolong),然后死活都不成功解决办法1.配置gitgitconfig--systemcore.longpathstrue2.修改文件C:\ProgramFiles\Git\etc\gitconfig(需要以管理员身份打开)[core] autocrlf=true fscache=......
  • Windows程序读取不了中文路径问题
    问题描述今天调试发现win32接口GetFileAttributesW居然不支持中文路径,于是寻找解决方案,找了半天,尝试用boost的fileystem库发现能用,而且boost能跨平台!不支持中文win32接口获取文件属性,当传入参数带有中文字符时,它获取的属性就会异常DWORDGetFileAttributesW([in]LPCWSTRlpFi......
  • 基于深度卷积神经网络的时间序列图像分类,开源、低功耗、低成本的人工智能硬件提供者
    具体的软硬件实现点击http://mcu-ai.com/MCU-AI技术网页_MCU-AI人工智能卷积神经网络(CNN)通过从原始数据中自动学习层次特征表示,在图像识别任务中取得了巨大成功。虽然大多数时间序列分类(TSC)文献都集中在1D信号上,但本文使用递归图(RP)将时间序列转换为2D纹理图像,然后利用深度CNN分......