The Microsoft Intelligent Platform Management Interface (IPMI) driver and WMI IPMI provider supply data from Baseboard Management Controller (BMC) operations to the operating system. It also supports an IPMI driver class. The __Win32Provider instance that represents this provider is named "IPMIPrv". The IPMI provider is installed by default.
The IPMI provider is a standard WMI provider that supplies classes, methods, and properties that represent BMC configuration and sensor data. The IPMI provider obtains BMC data through the IPMI driver. For more information about the role of WMI providers, see WMI Architecture.
The IPMI provider and driver enable you to perform the following operations remotely. These operations do not depend on the computer CPU, system BIOS, or the operating system:
One server can survey all the computers on a network, even if the operating system is not running or deployed.
The IPMI provider gives you access to the events recorded in the BMC System Event Log (SEL). Each event corresponds to a LogRecord instance in the IPMI provider classes. You can view these events through the Event Collector tool, Wecutil.cmd. SEL events appear in the Hardware Events log in the Windows Event log. You can write custom events, such as bug check data and shutdown information, to the SEL.
The Microsoft IPMI provider implements a subset of the standard IPMI CIM Mapping Specification.
The IPMI provider has several WMI classes that enable administrators to access BMC information through the IPMI Driver.
|Account||Represents a user account, which stores authentication and authorization data for the IPMI provider.|
|AdminDomain||Represents a grouping of computer system elements, represented by ComputerSystem instances.|
|AuthorizedPrivilege||Represents authorization information for an Account instance, which specifies account privileges to activities.|
|ComputerSystem||Represents a computing system in the management domain defined by AdminDomain.|
|ConcreteCollection||Provides a concrete class version of the CIM_Collection class.|
|LogRecord||Represents a log entry in the BMC System Event Log (SEL).|
|Microsoft_IPMI||Contains methods which issue commands to a device that has an implementation of IPMI.|
|NumericSensor||Represents a numeric type of sensor.|
|PrivilegeGroup||Represents a group of AuthorizedPrivilege objects.|
|RecordLog||Represents the BMC System Event Log (SEL).|
|RegisteredProfile||Represents a registered profile, which manages use cases for a system or service.|
|Sensor||Represents a hardware device capable of measuring the characteristics of some physical property, for example, the temperature or voltage of the computer system monitored by the BMC.|
|SystemSpecificCollection||Represents the collection of sensors for the BMC. Each ComputerSystem that represents a BMC has only one SystemSpecificCollection child.|
Because the IPMI provider is a WMI provider, you can obtain BMC data over a normal WMI DCOM connection either locally or remotely. However, when connecting through WMI, you cannot obtain data directly from the BMC hardware. Windows Remote Management enables you to access data directly from a BMC that implements the WS-Management protocol protocol, even if the associated computer operating system is unavailable or is not running on a Windows operating system.
Connections to remote computers through WMI use DCOM, which allocates ports dynamically. The Windows Firewall, if enabled, requires an appropriate configuration at startup to enable WMI DCOM connections. WinRM, which assigns one port, is more firewall-friendly. For more information about WMI remote connections, see Connecting to WMI on a Remote Computer.
For more information about IPMI classes, see Intelligent Platform Management Interface (IPMI) Classes.
The IPMI driver is a WDM kernel mode driver that communicates with the BMC using KCS (Keyboard Controller Style). For more information about driver installation, see Installation and Configuration for Windows Remote Management. It appears in the Device Manager as Microsoft SMBIOS Generic IPMI Compliant Device.