import wmi
import json c = wmi.WMI ()
msg = {} # 系统信息:系统版本,主机名,系统安装时间,系统位数,串口ID,总内存大小
system = ['Caption','CSName','InstallDate','OSArchitecture','SerialNumber','TotalVisibleMemorySize']
system_msg = []
for sys in c.Win32_OperatingSystem():
for i in system:
if i == 'InstallDate':
system_msg.append(getattr(sys,i).split('.')[0])
elif i == 'TotalVisibleMemorySize':
system_msg.append("%sGB"% round(int(getattr(sys, i))/(1024*1024)))
else:
system_msg.append(getattr(sys, i))
msg["sys_msg"] = dict(zip(system,system_msg)) # # CPU
cpu = ['Name']
cpu_msg = []
for i in c.Win32_Processor():
for i2 in cpu:
cpu_msg.append(getattr(i, i2))
msg['cpu']= dict(zip(cpu,cpu_msg)) # # 内存参数:
m0 = ['Capacity','Caption','Manufacturer','PartNumber','SerialNumber','Speed','Tag',]
m2 = {}
for i in enumerate(c.Win32_PhysicalMemory()):
m1 = []
for i2 in m0:
m1.append(getattr(i[1], i2))
m2["内存位置%s"%i[0]] = dict(zip(m0,m1))
msg.update(m2) # # {盘符num:{磁盘型号,接口类型,磁盘容量}}
disk = ['Caption','InterfaceType','Size']
disk_count = {}
for i in enumerate(c.Win32_DiskDrive()):
disk_msg = []
for i2 in disk:
if i2 == 'Size':
disk_msg.append("%s GB"% round(int(getattr(i[1],i2))/(1024*1024*1024)))
else:
disk_msg.append(getattr(i[1],i2))
disk_count["盘符%s"%i[0]] = dict(zip(disk,disk_msg))
msg.update(disk_count) # #网卡信息 : 网关,网卡卡槽,是否开启DHCP,DNS,IPadd,MASk,MAC
n = ['DefaultIPGateway','Description','DHCPEnabled','DNSServerSearchOrder','IPAddress','IPSubnet','MACAddress',]
n2 = {}
for i in enumerate(c.Win32_NetworkAdapterConfiguration(IPEnabled=1)):
n1 = []
for i2 in n:
n1.append(getattr(i[1],i2))
n2["网卡%s" % i[0]] = dict(zip(n,n1))
msg.update(n2) # # BIOS 信息: BIOS版本,BIOS厂商
bios = ['BIOSVersion','Manufacturer',]
b = wmi.WMI().Win32_BIOS()
b1 = []
for i in b:
for i2 in bios:
b1.append(getattr(i, i2))
msg['BIOS'] = dict(zip(bios,b1)) data = {"data":json.dumps(msg)}
import requests
url = 'http://172.16.1.2/index/'
response = requests.post(url,data=data)

python - 获取win系统参数,发送/保存配置的更多相关文章

  1. [Python]获取win平台文件的详细信息

    import win32api def getFileProperties(fname): """ 读取给定文件的所有属性, 返回一个字典. ""&q ...

  2. 人脸检测及识别python实现系列(1)——配置、获取实时视频流

    人脸检测及识别python实现系列(1)——配置.获取实时视频流 1. 前言 今天用多半天的时间把QQ空间里的几篇年前的旧文搬到了这里,算是完成了博客搬家.QQ空间里还剩下一些记录自己数学学习路线的学 ...

  3. 保存配置,获取配置,XML

    private void SaveSOConfig() { //保存配置 Dictionary<string, string> PrintConfigDIC = new Dictionar ...

  4. Python 获取 exe 的 icon 并且保存

    Python 获取 exe 的 icon 并且保存 参考链接:https://mail.python.org/pipermail/python-win32/2009-April/009078.html ...

  5. Python微服务实践-集成Consul配置中心

    A litmus test for whether an app has all config correctly factored out of the code is whether the co ...

  6. STM32 使用 printf 发送数据配置方法 -- 串口 UART, JTAG SWO, JLINK RTT

    STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK) http://home.eeworld.com.cn/my/space-uid-338727-blogid-47 ...

  7. 使用shell/python获取hostname/fqdn释疑

    一直以来被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天专门抽时间把它们的使用细节弄清了. 一.设置hostname/fqdn 在Li ...

  8. Python 获取 网卡 MAC 地址

    /*********************************************************************** * Python 获取 网卡 MAC 地址 * 说明: ...

  9. 使用shell/python获取hostname/fqdn释疑(转)

    一直以来被Linux的hostname和fqdn(Fully Qualified Domain Name)困惑了好久,今天专门抽时间把它们的使用细节弄清了. 一.设置hostname/fqdn 在Li ...

随机推荐

  1. java抽象类和抽象方法

    首先应该明确一点的是,抽象方法必须定义在抽象类中. 先看一个抽象类的定义: public abstract class Animal { public abstract void eat(); pub ...

  2. position:fixed固定定位的用法

    一.position:fixed:固定定位 1.实现某个元素在可视窗口的居中位置显示 1)给自身设置宽高: 2)给自身加position:fixed: 3)用margin向左移动自身宽度的一半,向上移 ...

  3. (贪心 区间) 51nod1091 线段的重叠

    X轴上有N条线段,每条线段包括1个起点和终点.线段的重叠是这样来算的,[10 20]和[12 25]的重叠部分为[12 20]. 给出N条线段的起点和终点,从中选出2条线段,这两条线段的重叠部分是最长 ...

  4. Potplayer播放器使用笔记

    Potplayer播放器使用笔记 1.暂停-播放的快捷键是 空格键2.C播放视频的加速倍数3.X播放的时候减速的倍数 Tab键:显示一下播放的信息,很多 Enter键:全屏或是缩小播放窗口 全屏拉伸快 ...

  5. ubuntu14.04安装tun/tap网络设备

    14.04的系统默认是没有tun设备的,所以需要通过在内核中编译时勾选此设备.接下来分步来介绍如何安装tun设备. 一.更新ubuntu桌面版源: sudo gedit /etc/apt/source ...

  6. Zabbix Server 自带模板监控更加灵活MySQL数据库

    Zabbix Server 自带模板监控更加灵活MySQL数据库 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.  一.zabbix-agent端配置 1>.修改zabbix的 ...

  7. linux下生成00 01 02..99的这些数

    [root@localhost ~]# seq -s " " -w 9901 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 ...

  8. Unity 如何检测鼠标双击事件

    代码如下: void OnGUI(){ Event e=Event.current; )) Debug.Log("用户双击了鼠标"); }

  9. inux进程/线程调度策略与 进程优先级

    目的: 系统性的认识linux的调度策略(SCHED_OTHER.SCHED_FIFO.SCHED_RR): 实时调度?分时调度? 混搭系统(实时任务+分时任务),怎样调度. linux的调度策略 l ...

  10. ES学习之分片路由

    本文主要内容: 1.路由一个文档到一个分片 2.新建.索引和删除请求 3.取回单个文档 4.局部单个文档 5.多文档模式 6.理解一下ES深度分页(from-size)的劣势 路由一个文档到一个分片 ...