PowerShell:Get-CIMInstance Vs Get-WMIObject

发布时间:2022-07-04 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PowerShell:Get-CIMInstance Vs Get-WMIObject脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

背景

项目中有个需求,要通过PowerShell获取Server上某个服务的描述

Get-service方法居然不返回该属性,夭寿

Get-CIMInstance Vs Get-WMIObject

那获取系统更详细的信息,自然也有对应的命令

Get-WmiObject win32_service | ?{$_.Name -eq 'YOURSERVICENAME'} | select Description
Get-CimInstance win32_service | ?{$_.Name -eq 'YOURSERVICENAME'} | select Description

这两个命令看上去差异很小,我该使用哪个呢? 我们需要了解下WMI和CIM的相关知识

CIM vs WMI

Common Information Model (CIM) 是开的标准,提供Systems, networks, applications and services管理信息的定义,由 Distributed Management Task Force (DMTF)开发和维护。

Windows Management Interface (WMI) 是微软针对windows平台,对CIM的一种实现。但是微软进加入了DCOM和RPC。WMI cmdlets使用DCOM访问远程机器,但DCOM这玩意属于“火墙不友好”,就是要使用很多端口,你得配置好多防火墙规则,远程机器必须允许135, 445, 1024-1034端口,不方便不说还不安全。

微软在2012年发布了Windows Remote Management(WinRM),使用Web Services for Management PRotocol (WS-Man协议),这个WSMan协议使用5985端口(HTTP)和5986端口(HTTPS),防火墙非常友好。对应的新的cmdlets也在PowerShell 3.0 中加入。

整体关系如下:

PowerShell:Get-CIMInstance Vs Get-WMIObject

PowerShell:Get-CIMInstance Vs Get-WMIObject

到底使用哪个?

毫无疑问,应该使用Get-CIMInstance

参考

https://blog.ipswITch.COM/get-ciminstance-vs-get-wmiobject-whats-the-difference https://devbLOGs.microsoft.com/scripting/should-i-use-cim-or-wmi-with-windows-powershell/ https://techspi.azurewebsites.net/2019/03/24/wmi-vs-cim/

脚本宝典总结

以上是脚本宝典为你收集整理的PowerShell:Get-CIMInstance Vs Get-WMIObject全部内容,希望文章能够帮你解决PowerShell:Get-CIMInstance Vs Get-WMIObject所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。