WMI及其较新的兄弟CIM都可用于管理环境中的Windows计算机。但是你知道他们之间的区别吗?加入我们一起看一看。
请务必阅读本系列之前的文章:
整个星期请继续关注本系列的其余部分。
WMI代表Windows Management Instrumentation。“Instrumentation”一词指的是WMI允许您获取有关计算机内部状态的信息,就像汽车中的仪表板仪表可以检索和显示有关汽车内部组件状态的信息一样。
WMI由一个存储库组成,其中包含表示可以在您的计算机中管理的组件的类。我们的意思是,仅仅因为WMI有一个Win32\u电池类并不意味着你的机器包含电池。然后可以使用与SQL非常类似的查询语言WQL在本地甚至网络上查询这些类的信息。然而,众所周知WMI非常不可靠,这主要是因为它基于RPC(远程过程调用),RPC对它们选择的通信端口做了一些疯狂的事情。
从Windows8和Server2012开始,WMI逐渐被淘汰,取而代之的是公共信息模型,简称CIM。WMI和CIM之间的唯一区别是它们使用的传输协议。当WMI使用远程过程调用执行查询时,CIM使用HTTP,这似乎有很大的不同。在后端,他们仍在与同一个信息存储库交谈。
最快和最简单的方式探索信息提供给您通过WMI是抓取任何免费的WMI对象浏览器的副本。我们喜欢这个。一旦下载,启动它,你将有一个图形界面浏览WMI类。
如果您想了解有关计算机磁盘配置的信息,请按Ctrl+F组合键以打开搜索框,然后键入“logicaldisk”并按enter。
这将立即带您进入Win32\U LogicalDisk类。
在应用程序的下半部分,您可以看到我们有两个类的实例。
一旦我们找到了我们要找的类,从PowerShell查询它就很简单了。
Get-WmiObject -Query “SELECT * FROM Win32_LogicalDisk”
我已经有一段时间没有看到这种语法了,现在人们更喜欢使用新的参数化语法。
Get-WmiObject –Class Win32_LogicalDisk
如果要从网络上的另一台计算机获取信息,只需使用ComputerName参数即可。
Get-WmiObject -Class Win32_LogicalDisk -ComputerName Viper –Credential viper\administrator
请记住,CIM仅在Windows 8和Server 2012上可用,向前看,这绝对是一条路要走。
Get-CimInstance –ClassName Win32_LogicalDisk
在使用getciminstance时,还有–ClassName参数的制表符完成,这表明今后微软的工作将集中在这一点上。
事实上,WMI是由微软内部一个完全独立的团队开发的,但后来被负责PowerShell的人员接管了。正是他们注意到,要清理我留下的烂摊子将非常困难。为了弥补这种情况,他们正试图通过在引擎盖下编写使用WMI和CIM的包装器cmdlet来提高WMI和CIM的可用性。检查cmdlet是否为包装器的唯一方法是查看文档。例如,Get Hotfix cmdlet是Win32\u QuickFixEngineering类的包装器,如文档中所示。
这意味着您可以使用get HotFix cmdlet而不是WMI查询在远程计算机上获取修补程序。
Get-HotFix –ComputerName localhost
所以你有了它。只需记住,如果有一个专用的cmdlet,您将始终希望使用它,如果cmdlet不存在,则会使用CIM。最后,如果其他所有操作都失败了,或者您的环境中有较旧的计算机,您将希望使用WMI。这是我这一次的全部。明天见,更多的能量地狱乐趣。
Powershell是一个完美的方式,一个新的编码器开始在Windows上。Powershell是命令行工具和脚本语言的等价部分。它使您能够通过您用来管理计算机的相同命令使计算机自动化。如果您有一个现代的Windows系统,那么您已经有了Powershell...
使用Windows10的PowerShellcmdlet,您可以轻松地添加应用程序,以便在启动时自动触发VPN连接。自动化这个任务意味着当你使用某些应用程序时,你甚至不必考虑连接到VPN。 要利用PowerShell中的此功能,如果您还没有VPN服务,则必须...
... 我们将介绍三种查看电脑活动连接的方法。第一个使用PowerShell中的旧netstat命令或命令提示符。然后,我们将向您展示两个免费工具TCPView和CurrPorts,它们也可以完成工作,而且可能更方便。 选项一:使用powershell(或命令提示...
Windows PowerShell具有内置的命令历史记录功能,可提供有关已运行命令的详细信息。与命令提示符一样,PowerShell只记住当前会话的命令历史记录。 如何使用命令行缓冲区 相关:极客学校:学习如何用PowerShell自动化Windows PowerShel...
....1和7上执行此操作的几种不同方法。 简单的方法:使用powershell命令 相关:极客学校:学习如何用PowerShell自动化Windows PowerShell是Windows中最强大的工具之一,所以它当然可以做一些简单的事情,比如列出你安装的程序。事实上...
...尝试运行它。这不需要太多时间,可能会有帮助。 向powershell重新注册windows应用商店 如果所有这些都失败了,您可以尝试重新注册Windows应用商店,这是您可以重新安装它。为此,您需要使用PowerShell,这是一种内置于Windows中...
由于几个主要与安全相关的原因,PowerShell脚本不像批处理脚本那样易于移植和使用。但是,我们可以将批处理脚本与PowerShell脚本捆绑在一起,以解决这些问题。在这里,我们将向您展示一些问题领域,以及如何构建批处理脚本...
... 一个windows包管理框架oneget 此包管理器称为OneGet,并作为PowerShell的一部分提供。在Technet的一篇题为“我的小秘密:Windows PowerShell OneGet”的博客文章中,微软的Garret Serack解释道: “OneGet is a unified interface to package management systems a...
...题,通常可以通过更换至少一个柱塞杆来解决。 windows powershell(x86) PowerShell是一种高级脚本环境。对于那些在Windows上真正需要命令行界面的人来说,PowerShell是Windows命令提示符的强大继承者。如果您不需要一个强大的命令行...
...于创建系统映像的图形界面已被删除,但您仍然可以使用PowerShell cmdlet创建系统映像。 这对系统管理员来说是个好消息,因为它允许他们创建和恢复系统映像备份,而无需切换到第三方工具,如Norton Ghost。系统映像与使用recimg创...