WMI与CIM的区别
文章目录
- 定义
- 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的区别相关推荐
- Windows Management Instrumentation WMI Security Technology Learning
目录 0. 引言 1. WMI(Windows Management Instrumentation)简介 2. 基于WMI的攻击向量 3. WMI编程示例 0. 引言 在进行服务器主机的入侵检测.安 ...
- WMI系列--关于WMI
本系列预计有三节,分别记录关于WMI的一些基础知识,WMI的永久订阅事件,WMI常见的攻防对抗手段 WMI简介 WMI 的全称是 Windows Management Instrumentation, ...
- PowerShell 使用 WMI
WMI 和 CIM 默认情况下,PowerShell 附带可处理 Windows Management Instrumentation (WMI) 等其他技术的 cmdlet. PowerShell ...
- 细说内网横向工具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 ...
- VBS了解一下呗(有没有用学了才知道)
VBS了解一下呗 本文摘自(https://www.jb51.net/article/53280.htm) 这里推荐两个介绍基础函数的地址,然后大家可以多看下别人的代码,多练习,多写. VBScrip ...
- vbs简明教程(转载)
Vbs脚本编程简明教程之一 -为什么要使用Vbs?2007年03月26日 星期一 下午 04:46 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周 ...
- Vbs脚本经典教材(转)
Vbs脚本经典教材(最全的资料还是MSDN) -为什么要使用Vbs? 在Windows中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件进行复制.粘贴.改 ...
- Vbs与批处理高级教程
Vbs 与批处理高级教程 Vbs 脚本编程简明教程之一 -为什么要使用 Vbs ? 在 Windows 中,学习计算机操作也许很简单,但是很多计算机工作是重复性劳动,例如你每周也许需要对一些计算机文件 ...
- SharpStrike:基于C#实现的后渗透漏洞利用工具
关于SharpStrike SharpStrike是一款基于C#开发的后渗透工具,该工具可以使用CIM或WMI来查询远程系统.除此之外,该工具还可以使用研究人员提供的凭证信息或使用当前的用户会话. 注 ...
最新文章
- 神策数据招募优秀的解决方案销售和售前
- AI未来说 | 听大牛论自动驾驶领域干货,看无人驾驶小车真实运作
- Java中final、finally和finalize的区别(转)
- Android 2017-2018面试题详解
- Thinking in AJAX(二) —— 基于AJAX的WEB设计
- linux自动断开会话,linux – 从SSH会话断开连接是否会导致程序崩溃?
- hdu 4640 Island and study-sister(状态压缩dp)
- 16、document的_source元数据以及定制返回结果解析
- CSDN第四届在线编程大赛2014初赛:带通配符的数
- 1386兆瓦:东能源拟建全球最大海上风电场
- 数据挖掘在电信欺诈侦测中的应用
- Django菜鸟入门
- 我为何从开发转测试,并坚持了16年?
- 于的繁体字有几种写法_在繁体字中,“于”、“於”这两个字如何正确使用?...
- mysql中exec语句,sqlserver 中EXEC和sp
- JavaScript实现节点的增加修改删除查找
- python 闲鱼_python之tk学习,闲鱼搜索-小记
- 有限域(Galois Field,GF,伽罗华域)的乘法原理
- 2018最新APP界面设计教程---手机ui高级实战案例 视频教程(价值320元)
- 微信24小时客服热线电话/如何转到人工服务办理
热门文章
- Mac电脑3D渲染和动画制作KeyShot Pro中文
- android 动画直播,直播动画实现方案一
- 在分片集群中追踪MongoDB的操作日志
- 魅族便签,是否能成为国内便签应用的No.1?
- Save More Mice (贪心 二分)
- xshell用无线网远程连接linux失败_vnc远程控制软件怎么用,3个步骤教你vnc远程控制软件怎么用...
- 两级运算放大器设计与仿真
- C语言学习笔记1——零散基础知识
- thinkpad t480s黑苹果蓝牙使用
- seo优化notfallow有二种下拉菜单百度搜索引擎