Aiursoft.IpmiController 9.0.8

IPMIController

MIT licensed Pipeline stat Test Coverage NuGet version (Aiursoft.IPMIController) ManHours

IPMI Controller is a .NET based CLI tool to control the server fan via IPMI. (Tested with Dell iDrac)

Installation

Requirements:

  1. .NET 9 SDK

Run the following command to install this tool:

sudo apt install ipmitool
dotnet tool install --global Aiursoft.IPMIController

How to use

It requires the current directory to have a appsettings.json file.

{
  "Servers": [
    {
      "HostOrIp": "10.0.0.1",
      "RootPassword": "pass@word1",
      "EsxiIp": "10.0.0.100",
      "EsxiRootPassword": "pass@word2",
      "Offset": 0
    }
  ]
}
  • HostOrIp must be the IPMI address of the server.
  • RootPassword must be the IPMI password of the server.
  • EsxiIp is optional. If provided, it will try to connect to the ESXi server to get the nvidia-smi temperature.
  • ExsiRootPassword is optional. If provided, it will try to connect to the ESXi server to get the nvidia-smi temperature.
  • Offset is optional. If provided, it will add the offset to the target temperature.
    • For example, if Offset is 10, then a 30-degree target temperature will be treated as 40 degrees.

It will read the Servers array and try to connect to each server. If the connection is successful, it will try to read the current fan speed and then set the fan speed to the target speed.

$ ipmi-controller monitor --profile quiet
Description:
  Monitor the temperature of your servers.

Usage:
  ipmi-controller monitor [options]

Options:
  -p, --profile <profile>  The target profile. Can be: 'auto','turbo','normal','quiet','full'. [default: auto]
  -d, --dry-run            Preview changes without actually making them
  -v, --verbose            Show detailed log
  -?, -h, --help           Show help and usage information

Run locally

Requirements about how to run

  1. .NET 9 SDK
  2. Execute dotnet run to run the app

Run in Microsoft Visual Studio

  1. Open the .sln file in the project path.
  2. Press F5.

How to contribute

There are many ways to contribute to the project: logging bugs, submitting pull requests, reporting issues, and creating suggestions.

Even if you with push rights on the repository, you should create a personal fork and create feature branches there when you need them. This keeps the main repository clean and your workflow cruft out of sight.

We're also interested in your feedback on the future of this project. You can submit a suggestion or feature request through the issue tracker. To make this process more effective, we're asking that these include more information to help define them more clearly.

This package has no dependencies.

Version Last updated
9.0.13 9/14/2025
9.0.12 8/7/2025
9.0.11 7/10/2025
9.0.10 6/18/2025
9.0.9 6/12/2025
9.0.8 6/2/2025
9.0.7 4/19/2025
9.0.6 4/10/2025
9.0.5 3/12/2025
9.0.4 3/28/2025
9.0.3 3/12/2025
9.0.2 5/14/2025
9.0.1 8/20/2025
9.0.0 3/18/2025
8.0.14 3/12/2025
8.0.13 3/12/2025
8.0.12 3/15/2025
8.0.11 3/12/2025
8.0.10 7/28/2025
8.0.9 3/12/2025
8.0.8 7/5/2025
8.0.7 8/20/2025
8.0.6 8/20/2025
8.0.5 4/18/2025
8.0.4 4/25/2025
8.0.3 7/29/2025
8.0.2 4/19/2025
8.0.1 8/20/2025
8.0.0 7/31/2025
1.0.23 3/28/2025
1.0.22 3/22/2025
1.0.21 8/20/2025
1.0.20 3/31/2025
1.0.19 8/20/2025
1.0.18 5/1/2025
1.0.17 4/3/2025
1.0.16 8/20/2025
1.0.15 7/29/2025
1.0.14 4/20/2025
1.0.13 3/20/2025
1.0.12 7/4/2025
1.0.11 3/19/2025
1.0.10 5/19/2025
1.0.9 8/20/2025
1.0.8 8/20/2025
1.0.7 3/14/2025
1.0.6 8/20/2025
1.0.5 8/20/2025
1.0.4 8/20/2025
1.0.3 6/2/2025
1.0.2 4/27/2025
1.0.1 4/18/2025
1.0.0 8/20/2025