Win32_baseboard 主板 参数说明

本文详细介绍了Win32_baseboard类中关于主板的各项参数,包括Caption、ConfigOptions、CreationClassName等,涵盖了主板的制造商、型号、规格、安装日期、支持的特性等方面,帮助读者理解主板的硬件信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Caption  --简短说明
ConfigOptions   --数组,表示位于在底板上跳线和开关的配置。
CreationClassName  --表示类的名称(就是Win32_baseboard类)
Depth   --以英寸为单位的物理封装。
Description  --对象的描述(底板)
Height  --用英寸表示的物理包的高度
HostingBoard  --如果为TRUE,该卡是一个主板,或在一个机箱中的基板。
HotSwappable  --如果为TRUE,就是支持热插拔(判断是否支持热插拔)
InstallDate  --日期和时间对象安装。此属性不需要的值以表示已安装的对象。
Manufacturer  --表示制造商的名称
Model  --物理元素的名称是已知。
Name   --对象的名称标签
OtherIdentifyingInfo  --捕获附加数据,超出资产标签的信息,可以用来标识物理元件
PartNumber  --由负责生产或制造的物理元素的组织分配部件编号。
PoweredOn  --如果为真,物理元素处于开机状态。
Product  --产品的型号
Removable  --判断是否可拆卸的
Replaceable  --判断是否可更换的
RequirementsDescription  --自由格式字符串描述方式,这张卡是身体不同于其他卡。该属性才有意义时,相对应的布尔值属性特殊要求是集真的
RequiresDaughterBoard  --如果是TRUE,至少一个子板或辅助卡才能正常工作。
SerialNumber  --制造商分配的用于识别所述物理元件数目。
SKU  --库存的物理单元号。
SlotLayout  --描述插槽位置
SpecialRequirements  --如果为真,此卡是同类型的其他卡物理上唯一的,因此需要一个专门的插槽
Status  --对象的当前状态。
Tag  --符系统的基板唯一标识
Version  --物理元素的版本
Weight  --物理元素的重量英镑表示
Width  --用英寸表示的物理元素的宽度

import platform import socket import psutil import wmi from datetime import datetime def format_timestamp(wmi_time): """格式化WMI时间戳为YYYYMMDD格式""" try: return datetime.strptime(wmi_time.split('.')[0], "%Y%m%d%H%M%S").strftime("%Y%m%d") except: return wmi_time.split('.')[0][:8] def get_system_info(): """获取系统和主板信息""" c = wmi.WMI() return { "计算机名": socket.gethostname(), "系统": f"{platform.system()} {platform.release()} {platform.version()}", "系统安装日期": format_timestamp(c.Win32_OperatingSystem()[0].InstallDate), "型号": c.Win32_ComputerSystem()[0].Model.strip(), "BIOS日期": format_timestamp(c.Win32_BIOS()[0].ReleaseDate), "序列号": c.Win32_BaseBoard()[0].SerialNumber, "主板型号": c.Win32_BaseBoard()[0].Product } def get_hardware_info(): """获取硬件信息""" c = wmi.WMI() # 获取CPU信息 cpu = c.Win32_Processor()[0] # 获取内存信息 mem_modules = c.Win32_PhysicalMemory() total_mem = sum(int(m.Capacity) for m in mem_modules) // (1024 ** 3) # 获取存储信息 disks = c.Win32_DiskDrive() disk_info = [] for disk in disks: if disk.Size: size_gb = int(disk.Size) // (1000 ** 3) disk_info.append(f"[{size_gb}G] {disk.Model.strip()}") # 获取显卡信息 gpus = [gpu.Name for gpu in c.Win32_VideoController()] # 获取网络信息 adapters = c.Win32_NetworkAdapterConfiguration(IPEnabled=True) network_info = [] for idx, adapter in enumerate(adapters, 1): if adapter.MACAddress: network_info.append({ f"网卡{idx}": adapter.Description, "IP地址": adapter.IPAddress[0] if adapter.IPAddress else "", "MAC地址": adapter.MACAddress }) return { "CPU": cpu.Name.split('@')[0].strip(), "内存": { "模块": [f"[{int(m.Capacity)//1024**3}G] {m.Manufacturer} {m.PartNumber.strip()}" for m in mem_modules], "总计": f"{total_mem}GB" }, "存储": { "硬盘": disk_info, "总计": f"{sum(int(d.Size)//1000**3 for d in disks if d.Size)}GB" }, "显卡": gpus, "网络适配器": network_info } def save_to_txt(info): """保存信息到文本文件""" try: # 构造文件名 filename = f"{info['system']['计算机名']}_{info['hardware']['网络适配器'][0]['MAC地址'].replace(':', '')}_{info['system']['BIOS日期']}.txt" with open(filename, 'w', encoding='utf-8') as f: # 系统信息部分 f.write(f"记录时间: {datetime.now().strftime('%Y/%m/%d %a %H:%M:%S.%f')[:-3]}\n\n") for k, v in info['system'].items(): f.write(f"■ {k}: {v}\n") # 硬件信息部分 f.write(f"\n■ CPU: {info['hardware']['CPU']}\n") f.write(f"■ 主板: {info['system']['主板型号']}\n") f.write(f"■ 内存: {'/'.join(info['hardware']['内存']['模块'])} (总计 {info['hardware']['内存']['总计']})\n") f.write(f"■ 存储: {'/'.join(info['hardware']['存储']['硬盘'])} (总计 {info['hardware']['存储']['总计']})\n") f.write(f"■ 显卡: {'/'.join(info['hardware']['显卡'])}\n") # 网络信息 for adapter in info['hardware']['网络适配器']: f.write(f"\n■ {list(adapter.keys())[0]}: {list(adapter.values())[0]}") for k, v in list(adapter.items())[1:]: f.write(f"\n {k}: {v}") # 结尾 f.write(f"\n\n■■■ 收集完成于 {datetime.now().strftime('%Y/%m/%d %a %H:%M:%S.%f')[:-3]} ■■■") return filename except Exception as e: print(f"保存文件时出错: {str(e)}") return None if __name__ == "__main__": try: system_info = get_system_info() hardware_info = get_hardware_info() combined_info = { "system": system_info, "hardware": hardware_info } output_file = save_to_txt(combined_info) if output_file: print(f"系统信息已保存到:{output_file}") with open(output_file, 'r', encoding='utf-8') as f: print("\n文件内容:\n" + f.read()) except Exception as e: print(f"发生错误:{str(e)}")能不能把这个获取到的系统信息发送给服务端
最新发布
05-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值