PowerShell:Get-CIMInstance Vs Get-WMIObject
2021/9/28 7:14:14
本文主要是介绍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 中加入。
整体关系如下:
到底使用哪个?
毫无疑问,应该使用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的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-12深入理解 ECMAScript 2024 新特性:Map.groupBy() 分组操作
- 2025-01-11国产医疗级心电ECG采集处理模块
- 2025-01-10Rakuten 乐天积分系统从 Cassandra 到 TiDB 的选型与实战
- 2025-01-09CMS内容管理系统是什么?如何选择适合你的平台?
- 2025-01-08CCPM如何缩短项目周期并降低风险?
- 2025-01-08Omnivore 替代品 Readeck 安装与使用教程
- 2025-01-07Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
- 2025-01-06PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”
- 2025-01-05Easysearch 可搜索快照功能,看这篇就够了
- 2025-01-04BOT+EPC模式在基础设施项目中的应用与优势