MrSloth Labs
DevOps 12 min readJuly 30, 2026

Dell iDRAC Tools & racadm Guide

Complete guide to installing racadm on Ubuntu/Debian and Windows, with remote power control, firmware updates, and scheduling.

iDRACracadmDell PowerEdgeremote managementLinuxWindows

FileShareMonitor.ps1PS1 file — click to download

Dell iDRAC Tools & racadm

Install on Ubuntu/Debian · Remote management · Power control · Firmware updates · Scheduling

Introduction

iDRAC (Integrated Dell Remote Access Controller) is Dell's out-of-band server management interface. It operates independently of the host operating system — even when the server is powered off, crashed, or unresponsive — allowing remote power control, hardware monitoring, BIOS configuration, firmware updates, and virtual console access from anywhere on the network.

racadm (Remote Access Controller Admin) is the command-line interface for iDRAC. It can be run locally on the server OS, or remotely from any Linux/Windows machine with the iDRAC Tools package installed. This document covers installing racadm on Ubuntu/Debian and Windows, using it to manage Dell servers remotely, and scheduling power control operations.

iDRAC vs racadm

ToolWhere it runsWhat it does
iDRACOn dedicated iDRAC hardware (independent of host OS)Out-of-band management — works even when server is off or OS has crashed. Provides Web UI, SSH, and RACADM API.
racadmOn any Linux/Windows machine with iDRAC Tools installedCommand-line client that communicates with a remote iDRAC. All commands run against the iDRAC IP.
Web UIBrowser — connects to iDRAC IP on port 443GUI equivalent of racadm. Useful for one-off tasks and visual console access.
ipmitoolOn any Linux machineAlternative tool for basic IPMI operations (power, sensors). Included in iDRAC Tools but not covered here.

Prerequisites

RequirementDetails
Dell PowerEdge serverR630, R730, R740, or similar with iDRAC 7, 8, or 9
iDRAC network accessiDRAC must have a valid IP and be reachable from the machine running racadm
iDRAC accountUsername and password with Administrator or Operator role
Linux admin workstationUbuntu 20.04+ or Debian 10+
Root or sudo accessRequired for package installation steps

Installing racadm on Ubuntu/Debian

The iDRAC Tools package is distributed as RPM files targeting RHEL/CentOS. To install on Ubuntu or Debian, the RPMs must be converted to .deb format using the alien utility.

Step 1 — Install prerequisites

sudo apt-get update
sudo apt-get install -y alien libargtable2-0

libargtable2-0 is required by the racadm binaries at runtime. alien is only needed for the conversion step.

Step 2 — Download and extract iDRAC Tools

Download the iDRAC Tools TAR file for your server model from Dell's support site. For example, for R730/R740:

tar -xvzf iDRACTools_*.tar.gz
cd iDRACTools

Step 3 — Navigate to correct architecture folder

cd racadm/RHEL7/x86_64
ls -l
# Should show three .rpm files

For Ubuntu 20.04+ (64-bit), use the RHEL7 x86_64 packages.

Step 4 — Convert RPM packages to DEB format

sudo alien srvadmin-*.rpm
ls -l *.deb

Step 5 — Install the converted DEB packages

sudo dpkg -i *.deb
sudo apt-get install -f   # Fix any dependency issues

Step 6 — Create symlink for easy access

sudo ln -s /opt/dell/srvadmin/bin/idracadm7 /usr/local/bin/racadm
racadm --version

Note: You may see a warning: "The RAC is unable to communicate with the BMC." This is harmless when running racadm without -r. Always use -r <iDRAC-IP> for remote management.

Quick installation summary

StepCommandPurpose
1sudo apt-get install -y alien libargtable2-0Install conversion tool and runtime dependency
2tar -xvzf iDRACTools_*.tar.gzExtract downloaded archive
3cd iDRACTools/racadm/RHEL7/x86_64Navigate to correct package folder
4sudo alien srvadmin-*.rpmConvert RPM to DEB
5sudo dpkg -i *.debInstall converted packages
6sudo ln -s /opt/dell/srvadmin/bin/idracadm7 /usr/local/bin/racadmCreate convenient symlink

racadm Command Syntax

All remote racadm commands follow the same structure:

racadm -r <iDRAC-IP> -u <username> -p "<password>" <subcommand> [options]
# Or interactive (prompts for password):
racadm -r <iDRAC-IP> -i <subcommand> [options]
FlagDescription
-rRemote iDRAC IP address or hostname
-uUsername
-pPassword (use quotes if it contains special characters)
-iInteractive — prompts for username/password
-SEnforce SSL — verify iDRAC certificate (recommended in production)

Security: Avoid passing passwords on the command line in production scripts. Use -i for interactive input, or store credentials in a restricted file.

racadm Commands Reference

Help and discovery

racadm -r 10.10.10.25 -u root -p "YourStrongPass!" help
racadm -r 10.10.10.25 -u root -p "YourStrongPass!" help serveraction

Get system information (getsysinfo)

racadm -r 10.10.10.25 -u root -p "YourStrongPass!" getsysinfo

Returns: iDRAC date/time, firmware version, identity, network config, server hardware model, BIOS version, service tag, thermal status, NIC info, watchdog info.

Server power control (serveraction)

ActionCommandDescription
Power onserveraction powerupPower the server on from off state
Graceful shutdownserveraction powerdownGraceful OS shutdown then power off
Force power offserveraction powercycleHard power cycle — immediate, no OS shutdown
Graceful rebootserveraction gracefulrebootOS-level reboot via iDRAC (requires OS running)
Hard resetserveraction hardresetForce restart — same as pressing reset button
racadm -r 10.10.10.25 -u root -p "YourStrongPass!" serveraction powerup
racadm -r 10.10.10.25 -u root -p "YourStrongPass!" serveraction powerdown

Reset iDRAC (racreset)

Restarts the iDRAC controller, not the server.

racadm -r 10.10.10.25 -u root -p "YourStrongPass!" racreset        # Normal reset
racadm -r 10.10.10.25 -u root -p "YourStrongPass!" racreset soft   # Warm reboot
racadm -r 10.10.10.25 -u root -p "YourStrongPass!" racreset hard   # Cold reboot

After any iDRAC reset, wait 2-3 minutes before reconnecting.

Firmware updates

# From local file with auto-reboot
racadm -r 10.10.10.25 -u root -p "YourStrongPass!" update -f /path/to/firmware.EXE --reboot

# From network share (CIFS)
racadm -r 10.10.10.25 -u root -p "YourStrongPass!" update -f firmware.EXE -l //192.168.1.10/share --reboot

# From NFS share
racadm -r 10.10.10.25 -u root -p "YourStrongPass!" update -f firmware.EXE -l 192.168.1.10:/path -t NFS --reboot

Job queue management

racadm -r 10.10.10.25 -u root -p "YourStrongPass!" jobqueue view
racadm -r 10.10.10.25 -u root -p "YourStrongPass!" jobqueue delete -i JID_123456789
racadm -r 10.10.10.25 -u root -p "YourStrongPass!" jobqueue delete --all

SSL certificate management

racadm -r 10.10.10.25 -u root -p "YourStrongPass!" sslcertupload -t 1 -f /path/to/cert.pem
racadm -r 10.10.10.25 -u root -p "YourStrongPass!" racreset  # Required to apply
racadm -r 10.10.10.25 -u root -p "YourStrongPass!" sslcertdownload -t 1 -f /tmp/current_cert.pem
Certificate type (-t)Description
1Server (Web Server) certificate
2CSR (Certificate Signing Request)
3CA certificate

Other useful commands

TaskCommand
Get iDRAC timeracadm -r <IP> -u <user> -p "<pass>" getractime
Get BIOS settingsracadm -r <IP> -u <user> -p "<pass>" getconfig -g cfgBIOS
Set static iDRAC IPracadm -r <IP> -u <user> -p "<pass>" setniccfg -s <IP> <mask> <gateway>
Get temperature sensorsracadm -r <IP> -u <user> -p "<pass>" getsensorinfo
Get power consumptionracadm -r <IP> -u <user> -p "<pass>" getpbinfo
Enable/disable SSH on iDRACracadm -r <IP> -u <user> -p "<pass>" config -g cfgSerial -o cfgSerialSshEnable 1
Export Lifecycle Controller logracadm -r <IP> -u <user> -p "<pass>" lclog export -f lc_log.xml -l //share/path

Bash Scripts for Power Control

Store credentials in a separate file for security:

# idrac.env
IDRAC_IP="192.168.1.100"
IDRAC_USER="root"
IDRAC_PASS="YourStrongPass!"
# chmod 600 idrac.env

Interactive menu script (idrac_power_control.sh)

#!/bin/bash

SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/idrac.env" || { echo "Missing credential file"; exit 1; }

run_racadm() {
    racadm -r "$IDRAC_IP" -u "$IDRAC_USER" -p "$IDRAC_PASS" "$@"
}

echo "1. Power ON"
echo "2. Graceful shutdown"
echo "3. Hard power cycle"
echo "4. Graceful reboot"
echo "5. Get system status"
echo "6. Reset iDRAC"
read -p "Choose an option: " choice

case $choice in
    1) run_racadm serveraction powerup ;;
    2) run_racadm serveraction powerdown ;;
    3) read -p "Confirm? [y/N]: " c; [[ $c =~ ^[Yy]$ ]] && run_racadm serveraction powercycle || echo "Cancelled." ;;
    4) run_racadm serveraction gracefulreboot ;;
    5) run_racadm getsysinfo ;;
    6) run_racadm racreset soft ;;
    *) echo "Invalid option"; exit 1 ;;
esac

Dedicated shutdown script (idrac_shutdown.sh)

#!/bin/bash
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/idrac.env"
LOG="/var/log/idrac_shutdown_$(date +%Y%m%d_%H%M%S).log"
echo "[$(date)] Shutting down..." | tee "$LOG"
racadm -r "$IDRAC_IP" -u "$IDRAC_USER" -p "$IDRAC_PASS" serveraction powerdown >> "$LOG" 2>&1
if [ $? -eq 0 ]; then
    echo "Success"; else echo "Failed"; exit 1
fi

Set permissions

chmod 700 /usr/local/sbin/scripts/*.sh
chmod 600 /usr/local/sbin/scripts/idrac.env

Scheduling Power Control Operations

Using crontab (recurring)

sudo crontab -e
# Shutdown at 2 AM daily:
0 2 * * * /usr/local/sbin/scripts/idrac_shutdown.sh >> /var/log/idrac_cron.log 2>&1
# Power on at 7 AM weekdays:
0 7 * * 1-5 /usr/local/sbin/scripts/idrac_poweron.sh >> /var/log/idrac_cron.log 2>&1

Using at (one-time)

# Install at
sudo apt-get install -y at
sudo systemctl enable --now atd

# Schedule
sudo at 11:30 PM Jul 12 2026
at> /usr/local/sbin/scripts/idrac_shutdown.sh >> /var/log/idrac_at.log 2>&1
at> <Ctrl+D>

# Or non-interactive:
echo "/usr/local/sbin/scripts/idrac_shutdown.sh >> /var/log/idrac_at.log 2>&1" | sudo at 11:30 PM Jul 12 2026

# List jobs: atq
# Remove: atrm <job number>

Remote Power Control from Windows

Installing racadm on Windows

  1. Download Dell iDRAC Tools for Windows from Dell Support.
  2. Run the MSI installer as Administrator.
  3. Default install path: C:\Program Files\Dell\SysMgt\racadm\racadm.exe
  4. Optional: Add that folder to system PATH.

Enhanced batch script (idrac_power_control.bat)

@echo off
setlocal EnableDelayedExpansion
set IDRAC_IP=192.168.1.100
set USERNAME=root
set PASSWORD=your_password
set RACADM="C:\Program Files\Dell\SysMgt\racadm\racadm.exe"
set LOG=%~dp0idrac_%date:~-4%%date:~3,2%%date:~0,2%.log

if not exist %RACADM% (
    echo ERROR: racadm.exe not found.
    pause & exit /b 1
)

:MENU
cls
echo 1. Power ON
echo 2. Graceful shutdown
echo 3. Hard power cycle
echo 4. Graceful reboot
echo 5. Get power status
echo 0. Exit
set /p CHOICE=Option:

if %CHOICE%==1 set ACTION=powerup & goto RUN
if %CHOICE%==2 set ACTION=powerdown & goto RUN
if %CHOICE%==3 set ACTION=powercycle & goto CONFIRM
if %CHOICE%==4 set ACTION=gracefulreboot & goto RUN
if %CHOICE%==5 %RACADM% -r %IDRAC_IP% -u %USERNAME% -p %PASSWORD% serveraction powerstatus & pause & goto MENU
if %CHOICE%==0 goto END

:CONFIRM
set /p c=Type YES to confirm:
if /i not "%c%"=="YES" goto MENU

:RUN
echo Running %ACTION%... >> %LOG%
%RACADM% -r %IDRAC_IP% -u %USERNAME% -p %PASSWORD% serveraction %ACTION% >> %LOG% 2>&1
if %errorlevel% equ 0 (echo Success) else (echo Failed)
pause & goto MENU
:END
endlocal

PowerShell alternative (idrac_power_control.ps1)

param(
    [string]$iDRACIP = '192.168.1.100',
    [string]$Username = 'root',
    [string]$Action = '',
    [string]$RacadmPath = "C:\Program Files\Dell\SysMgt\racadm\racadm.exe"
)

$SecurePass = Read-Host -Prompt 'Enter iDRAC password' -AsSecureString
$BSTR = [System.Runtime.InteropServices.Marshal]::SecureStringToBSTR($SecurePass)
$Password = [System.Runtime.InteropServices.Marshal]::PtrToStringAuto($BSTR)

$LogFile = Join-Path $PSScriptRoot ("idrac_" + (Get-Date -Format "yyyyMMdd_HHmmss") + ".log")

if (-not (Test-Path $RacadmPath)) {
    Write-Host "racadm.exe not found" -ForegroundColor Red
    exit 1
}

if (-not $Action) {
    Write-Host "1. Power ON"
    Write-Host "2. Graceful shutdown"
    Write-Host "3. Hard power cycle"
    $choice = Read-Host "Option"
    switch ($choice) {
        '1' { $Action = 'powerup' }
        '2' { $Action = 'powerdown' }
        '3' { 
            $c = Read-Host 'Type YES to confirm'
            if ($c -eq 'YES') { $Action = 'powercycle' } else { exit 0 }
        }
        default { exit 1 }
    }
}

$result = & $RacadmPath -r $iDRACIP -u $Username -p $Password serveraction $Action 2>&1
Add-Content -Path $LogFile -Value (Get-Date -Format "yyyy-MM-dd HH:mm:ss") + " $Action on $iDRACIP"
if ($LASTEXITCODE -eq 0) {
    Write-Host "Success" -ForegroundColor Green
} else {
    Write-Host "Failed" -ForegroundColor Red
    exit 1
}

Scheduling with Windows Task Scheduler

GUI: Create Task → Triggers → New → Set date/time → Actions → Program: powershell.exe with arguments: -NonInteractive -ExecutionPolicy Bypass -File "C:\scripts\idrac_power_control.ps1" -Action powerup

Command line (one-time):

schtasks /create /tn "iDRAC PowerON" /tr "powershell.exe -NonInteractive -ExecutionPolicy Bypass -File C:\scripts\idrac_power_control.ps1 -Action powerup" /sc once /sd 07/13/2026 /st 06:00 /ru SYSTEM /f

schtasks /delete /tn "iDRAC PowerON" /f

Windows vs Linux quick reference

TaskLinuxWindows
Install racadmalien + dpkgMSI installer
Run commandracadm -r IP -u user -p pass cmdracadm.exe -r IP -u user -p pass cmd
Script languageBash (.sh)Batch (.bat) or PowerShell (.ps1)
Store credentials.env file chmod 600Separate file or Credential Manager
Schedule one-timeatTask Scheduler or schtasks
Schedule recurringcrontabTask Scheduler or schtasks

Troubleshooting

ProblemLikely CauseFix
alien: command not foundalien not installedsudo apt-get install -y alien
dpkg dependency errorsMissing dependenciessudo apt-get install -f after dpkg -i
racadm: command not foundSymlink not createdsudo ln -s /opt/dell/srvadmin/bin/idracadm7 /usr/local/bin/racadm
"BMC communication" warningRunning without -rUse -r <iDRAC-IP> for remote management
Connection refusediDRAC unreachable, port 443 blockedPing iDRAC, check firewall
Authentication failed (401)Wrong credentialsVerify in Web UI
serveraction powerdown no effectOS ignoring ACPI signalUse powercycle for hard cut
SSL cert breaks Web UIMissing intermediate chainRestore via physical console
Cron job didn't runWrong timing or missing permissionCheck crontab -l, script permissions, syslog
at job didn't runatd not runningsudo systemctl enable --now atd

Change Log

DateVersionAuthorChanges
[YYYY-MM-DD]3.0[Name]Added Windows section with batch, PowerShell, Task Scheduler, and cross-reference table
[YYYY-MM-DD]2.0[Name]Enhanced with full command reference, scripts, troubleshooting
[YYYY-MM-DD]1.0[Name]Original document