文章目录

  • 定义
  • WMI的历史
  • 微软打算弃用WMI
  • 开放管理基础设施(OMI)

定义

WMI(Windows Management Instrumentation)作为Windows操作系统的对外的管理接口,被广大Windows 管理员和开发人员熟知。WMI主要基于Web的企业管理类(WBEM,Web-Based Enterprise Management)和通用信息模型(CIM,Common Information Model)标准来进行实现,这两个标准都出自分布式管理工作组(即Distributed Management Task Force)。其中CIM为系统、网络、应用程序和服务提供了一个通用的管理信息定义。这个标准包含有规范、模式和元模型,为操作系统供应商提供一个标准来管理他们的产品。CIM提供了一些表示信息(如计算机硬件和软件等)的标准类,同时也为供应商们提供了扩展性,让他们可以增加一些产品特性相关的属性。

WMI的历史

WMI是微软对CIM的实现,它最早出现在Windows NT 4.0中。由于Microsoft是早期的采用者,DCOM用于远程管理,因为当时还没有其他定义的标准。DCOM是Distributed COM的缩写,它使用远程过程调用(Remote Procedure Calls, RPC)来进行远程连接,如果所有设备都在同一个网络上这一方案是可行的,但是一旦这些DCOM被NAT路由器和防火墙分隔开,就很难再实现远程连接。
在Windows Server 2012和Windows 8中,微软对WMI做了一些更改,使其符合CIMv2标准,并将远程连接改为WS-MAN标准。因为WS-MAN是一种基于http的协议,所以它比DCOM对防火墙更友好。不过对于开发者来说,值得注意的是,微软为了向后兼容,开发者可以继续使用DCOM访问新的更改后的WMI栈。

微软打算弃用WMI

微软已经开始弃用Windows中的WMI命令,转而支持CIM命令。例如,如果使用PowerShell进行管理,应该使用CIM cmdlet而不是WMI cmdlet。因为WMI cmdlet要被淘汰了,因此微软不再对其进行开发和维护。目前PowerShell核心甚至已经不再包含WMI cmdlet,必须使用CIM。由于CIM使用WS-MAN进行远程访问,所以连接到远程系统更加容易。
之前我们通过下面的命令使用Get-Wmiobject PowerShell cmdlet来获取关于操作系统的信息:

Get-WmiObject -Class Win32_OperatingSystem

在Powershell Core当中,应该改换为:

Get-CimInstance -ClassName Win32_OperatingSystem

开放管理基础设施(OMI)

CIM不是完美的解决方案。虽然理论上来讲CIM可以用作任何类型设备的管理模型,但它可能难以实现,而且对于移动设备和嵌入式设备来说,CIM过于笨重。随着越来越多的物联网IOT设备连接到云,很多供应商迫切需要一个更灵活的解决方案。为此,微软与Open Group合作开发了一种新的开源解决方案,称为Open Management Infrastructure。OMI是开源的,这种基于标准的管理在任何设备上都可以免费用使用。
OMI是一个可移植的、占用空间小的、高性能的CIM对象管理器。OMI支持DMTF标准、使用WS-MAN实现远程可管理性、并且与WMI的API兼容。OMI还支持CIM ide(类似Visual Studio的ide)。OMI的基本大小只有250KB,使用时只消耗1MB内存。
因为OMI并不是完整的CIM,所以一些之前的产品不符合OMI标准。现在开始,匹配Windows 2012和Windows 8或更高版本操作系统而编写的软件也应该同时兼容OMI。

WMI与CIM的区别相关推荐

  1. Windows Management Instrumentation WMI Security Technology Learning

    目录 0. 引言 1. WMI(Windows Management Instrumentation)简介 2. 基于WMI的攻击向量 3. WMI编程示例 0. 引言 在进行服务器主机的入侵检测.安 ...

  2. WMI系列--关于WMI

    本系列预计有三节,分别记录关于WMI的一些基础知识,WMI的永久订阅事件,WMI常见的攻防对抗手段 WMI简介 WMI 的全称是 Windows Management Instrumentation, ...

  3. PowerShell 使用 WMI

    WMI 和 CIM 默认情况下,PowerShell 附带可处理 Windows Management Instrumentation (WMI) 等其他技术的 cmdlet. PowerShell ...

  4. 细说内网横向工具WMIHACK

    目录 1.前言 2. 基础知识 2.1 WMI简介 2.2 WMI体系结构 2.3 WMI的类与命名空间 2.4 查询WMI 2.5 管理WMI 2.6 WMI事件 3.工具分析 3.1 WMIHAC ...

  5. VBS了解一下呗(有没有用学了才知道)

    VBS了解一下呗 本文摘自(https://www.jb51.net/article/53280.htm) 这里推荐两个介绍基础函数的地址,然后大家可以多看下别人的代码,多练习,多写. VBScrip ...

  6. vbs简明教程(转载)

    Vbs脚本编程简明教程之一       -为什么要使用Vbs?2007年03月26日 星期一 下午 04:46 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周 ...

  7. Vbs脚本经典教材(转)

    Vbs脚本经典教材(最全的资料还是MSDN) -为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改 ...

  8. Vbs与批处理高级教程

    Vbs 与批处理高级教程 Vbs 脚本编程简明教程之一 -为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件 ...

  9. SharpStrike:基于C#实现的后渗透漏洞利用工具

    关于SharpStrike SharpStrike是一款基于C#开发的后渗透工具,该工具可以使用CIM或WMI来查询远程系统.除此之外,该工具还可以使用研究人员提供的凭证信息或使用当前的用户会话. 注 ...

最新文章

  1. 神策数据招募优秀的解决方案销售和售前
  2. AI未来说 | 听大牛论自动驾驶领域干货,看无人驾驶小车真实运作
  3. Java中final、finally和finalize的区别(转)
  4. Android 2017-2018面试题详解
  5. Thinking in AJAX(二) —— 基于AJAX的WEB设计
  6. linux自动断开会话,linux – 从SSH会话断开连接是否会导致程序崩溃?
  7. hdu 4640 Island and study-sister(状态压缩dp)
  8. 16、document的_source元数据以及定制返回结果解析
  9. CSDN第四届在线编程大赛2014初赛:带通配符的数
  10. 1386兆瓦:东能源拟建全球最大海上风电场
  11. 数据挖掘在电信欺诈侦测中的应用
  12. Django菜鸟入门
  13. 我为何从开发转测试,并坚持了16年?
  14. 于的繁体字有几种写法_在繁体字中,“于”、“於”这两个字如何正确使用?...
  15. mysql中exec语句,sqlserver 中EXEC和sp
  16. JavaScript实现节点的增加修改删除查找
  17. python 闲鱼_python之tk学习,闲鱼搜索-小记
  18. 有限域(Galois Field,GF,伽罗华域)的乘法原理
  19. 2018最新APP界面设计教程---手机ui高级实战案例 视频教程(价值320元)
  20. 微信24小时客服热线电话/如何转到人工服务办理

热门文章

  1. Mac电脑3D渲染和动画制作KeyShot Pro中文
  2. android 动画直播,直播动画实现方案一
  3. 在分片集群中追踪MongoDB的操作日志
  4. 魅族便签,是否能成为国内便签应用的No.1?
  5. Save More Mice (贪心 二分)
  6. xshell用无线网远程连接linux失败_vnc远程控制软件怎么用,3个步骤教你vnc远程控制软件怎么用...
  7. 两级运算放大器设计与仿真
  8. C语言学习笔记1——零散基础知识
  9. thinkpad t480s黑苹果蓝牙使用
  10. seo优化notfallow有二种下拉菜单百度搜索引擎