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

vmi:获取 windows 系统硬件信息

时间:2024-05-07 14:44:42浏览次数:19  
标签: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/18177290

相关文章

  • Burp Suite Professional 2024.4 (macOS, Linux, Windows) - Web 应用安全、测试和扫
    BurpSuiteProfessional2024.4(macOS,Linux,Windows)-Web应用安全、测试和扫描BurpSuiteProfessional,Test,find,andexploitvulnerabilities.请访问原文链接:BurpSuiteProfessional2024.4(macOS,Linux,Windows)-Web应用安全、测试和扫描,查看最新版。原创......
  • Burp Suite Professional 2024.4 for Windows x64 - 领先的 Web 渗透测试软件
    BurpSuiteProfessional2024.4forWindowsx64-领先的Web渗透测试软件世界排名第一的Web渗透测试工具包请访问原文链接:BurpSuiteProfessional2024.4forWindowsx64-领先的Web渗透测试软件,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgBurpSuite......
  • Windows 10 LTSC启用Microsoft Store的方法
    新建msreg.bat文件,并编辑内容如下:==========@echooff::BatchGotAdmin:-------------------------------------REM-->Checkforpermissions>nul2>&1"%SYSTEMROOT%\system32\cacls.exe""%SYSTEMROOT%\system32\config\system&q......
  • Windows文件关联
    注册表Windows的文件关联是通过注册表实现的。HKEY_CLASSES_ROOT节点包含了文件扩展名关联信息。不建议直接修改HKEY_CLASSES_ROOT,而是修改HEKY_CURRENT_USER\Software\Classes或HKEY_LOCAL_MACHINE\Software\Classes。HKEY_CLASSES_ROOT是两者的合并。如果出现同名键,HEKY_C......
  • [JUCE库]关于JUCE如何生成动态链接库 juce-7.0.1-windows
    前言当我们在使用JUCE库的时候,可能会需要使用到静态链接的方式,还好的一点是JUCE本身提供了CMake编译,也提供了单独的sln编译。本文章仅针对juce-7.0.1-windows,由于不同版本之间差异较大,可能不能通用,但主要的不同点都在修改源码那个环节。编译流程找到源码中提供的编译方案修......
  • windows下安装Jenkins以及配置分布式agent节点
    安装Jenkins:1.Jenkins稳定版本的war包路径:https://get.jenkins.io/war-stable/2.jdk下载:https://www.oracle.com/java/technologies/downloads/3.启动Jenkins:命令行运行java-jarjenkins.war至此可以通过浏览器127.0.0.1:8080,连接上本地Jenkins 配置分布式agent节点: ......
  • 在Windows下用navicat,连接虚拟机的MySQL
    在Windows下用navicat,连接虚拟机的MySQL目录(一)防火墙1.查看防火墙状态2.关闭防火墙(二)登录MySQL1.登录2.查看MySQL端口号(三)连接navicat1.点击连接2.新建连接3.连接成功(四)修改虚拟机MySQL端口号1.打开配置文件2.修改端口号3.重启MySQL下面是报错原因总结:(下次有再补......
  • Linux 和 Windows11双系统安装
    阅读目录1.下载Linux系统2.制作Linux系统启动盘3.电脑分盘4.安装Ubuntu系统5.安装完成后可能遇到的黑屏问题解决回到顶部1.下载Linux系统下载Linux系统的镜像文件,Linux系统有很多版本,Linux指的是系统内核,笔者下载的是Ubuntu系统,大家可以根据需要下载其他系统。Ubuntu......
  • 使用NSSM将.exe程序安装成windows服务
    1、下载NSSM:NSSM-theNon-SuckingServiceManager 2、cmd方式安装服务将下载的压缩包解压,找到nssm.exe,以管理员身份打开cmd,在cmd中定位到nssm.exe所在路径,执行nssminstall服务名: 按下enter键会自动弹出nssm的窗体: 在Application-ApplicationPath中选择你的可执行......
  • windows中启动多个influxdb操作指南
    一:下载和安装:从InfluxData的官方网站 https://repos.influxdata.com/rhel/7/x86_64/stable/下载需要的版本,我是用的1.7.7-1解压安装包到您选择的目录,我这边是E:\influxdb\influxdb-1.7.7_windows_amd64\influxdb-1.7.7-1\。二:配置多个实例:增加实例,复制解压后的文件夹到一......