2012/08/24

Introduction to CIM Cmdlets

Great article from the Powershell team blog:

Introduction to CIM Cmdlets

PowerShell 3.0 shipping with Windows server 2012 and Windows 8 brings a new set of Cmdlets to manage any server or device that complies with CIM and WS-Man standards defined by DMTF. In this blog post we will explore these new Cmdlets and how can they help IT Pros in managing a datacenter.
The list of new Cmdlets is given in the table below:
Cmdlet Purpose
Get-CimInstance Gets instances of a class.
New-CimInstance Creates a new instance of a class.
Remove-CimInstance Removes one of more instances of a class.
Set-CimInstance Modifies one or more instances of a class.
Get-CimAssociatedInstance Gets all the associated instances for a particular instance.
Invoke-CimMethod Invokes instance or static method of a class.
Get-CimClass Gets class schema of a CIM class.
Register-CimIndicationEvent Helps subscribe to events.
New-CimSession Creates a CIM Session with local or a remote machine
Get-CimSession Gets a list of CIM Sessions that have been made.
Remove-CimSession Removes CimSessions that are there on a machine.
New-CimSessionOption Creates a set of options that can be used while creating a CIM session.

Basic terminology

If you are already familiar with terms like WMI, CIM, WinRM and WS-Man, you can skip this section.
CIM: Common Information Model (CIM) is the DMTF standard [DSP0004] for describing the structure and behavior of managed resources such as storage, network, or software components.
WMI: Windows Management Instrumentation (WMI) is a CIM server that implements the CIM standard on Windows.
WS-Man: WS-Management (WS-Man) protocol is a SOAP-based, firewall-friendly protocol for management clients to communicate with CIM servers.
WinRM: Windows Remote Management (WinRM) is the Microsoft implementation of the WS-Man protocol on Windows.

Introduction to CIM Cmdlets