IT Questions and Answers :)

Friday, August 16, 2019

What is the acronym for the management system that includes PowerShell?

What is the acronym for the management system that includes PowerShell?

  • WMI
  • WPF
  • WRM
  • WMF 
What is the acronym for the management system that includes PowerShell?

EXPLANATION

 Microsoft's World of Management Instrumentation - e.g., WMI, OMI, CIM, and a bunch of other acronyms. I glossed over some of the finer details, and this article is intended to provide more specificity and accuracy - thanks to Microsoft's Keith Bankston for helping me sort things out.

CIM and the DMTF

Let us begin with CIM. CIM stands for Common Information Model, and it is not a tangible thing. It isn't even software. It's a set of standards that describe how management information can be represented in software, and it was created by the Distributed Management Task Force (DMTF), an industry working group that Microsoft is a member of.

Old WMI, DCOM, and RPC

Back in the day - we're talking Windows NT 4.0 timeframe - Microsoft created Windows Management Instrumentation, or WMI. This was a server component (technically, a background service, and it ran on Workstation as well as Server) that delivered up management information in the CIM format. Now, at the time, the CIM standards were pretty early in their life, and WMI complied with what existed at the time. But the standards themselves were silent on quite a few things, like what network communications protocol you'd use to actually talk to a server. Microsoft opted for Distributed Component Object Model, or DCOM, which was a very mainstream thing for them at the time. DCOM talks by using Remote Procedure Calls, or RPCs, also a very standard thing for Windows in those days.

New WMI, WS-MAN, and WINRM

Fast forward a bit to 2012. With Windows Management Framework 3, Microsoft releases a new version of WMI. They fail to give it a unique name, which causes a lot of confusion, but it complies with all the latest CIM specifications. There's still a server-side component, but this "new WMI" talks over WS-Management (Web Services for Management, often written as WS-MAN) instead of DCOM/RPC. Microsoft's implementation of WS-MAN lives in the Windows Remote Management (WinRM) service. The PowerShell cmdlets that talk this new kind of WMI all use CIM as part of the noun, giving us Get-CimInstance, Get-CimClass, Invoke-CimMethod, and so on. But make no mistake - these things aren't "talking CIM," because CIM isn't a protocol. They're talking WS-MAN, which is what the new CIM standard specifies.
Sidebar: From a naming perspective, Microsoft was pretty much screwed with the new cmdlets' names, no matter what they called them. "Cim" is a terrible part of the noun. After all, the "old WMI" was compliant with the CIM of its day, but it didn't get to be called CIM. The new cmdlets don't use any technology called "Cim," they're merely compliant with the newest CIM standards. Maybe they should have been called something like Get-Wmi2Instance, or Invoke-NewWmiMethod, but that wasn't going to make anyone happy, either. So, Cim it is.
Share:

0 comments:

Post a Comment

Popular Posts