Dell iDRAC Tools & racadm Guide
Complete guide to installing racadm on Ubuntu/Debian and Windows, with remote power control, firmware updates, and scheduling.
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
| Tool | Where it runs | What it does |
|---|---|---|
| iDRAC | On 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. |
| racadm | On any Linux/Windows machine with iDRAC Tools installed | Command-line client that communicates with a remote iDRAC. All commands run against the iDRAC IP. |
| Web UI | Browser — connects to iDRAC IP on port 443 | GUI equivalent of racadm. Useful for one-off tasks and visual console access. |
| ipmitool | On any Linux machine | Alternative tool for basic IPMI operations (power, sensors). Included in iDRAC Tools but not covered here. |
Prerequisites
| Requirement | Details |
|---|---|
| Dell PowerEdge server | R630, R730, R740, or similar with iDRAC 7, 8, or 9 |
| iDRAC network access | iDRAC must have a valid IP and be reachable from the machine running racadm |
| iDRAC account | Username and password with Administrator or Operator role |
| Linux admin workstation | Ubuntu 20.04+ or Debian 10+ |
| Root or sudo access | Required 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-0libargtable2-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 iDRACToolsStep 3 — Navigate to correct architecture folder
cd racadm/RHEL7/x86_64
ls -l
# Should show three .rpm filesFor 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 *.debStep 5 — Install the converted DEB packages
sudo dpkg -i *.deb
sudo apt-get install -f # Fix any dependency issuesStep 6 — Create symlink for easy access
sudo ln -s /opt/dell/srvadmin/bin/idracadm7 /usr/local/bin/racadm
racadm --versionNote: 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
| Step | Command | Purpose |
|---|---|---|
| 1 | sudo apt-get install -y alien libargtable2-0 | Install conversion tool and runtime dependency |
| 2 | tar -xvzf iDRACTools_*.tar.gz | Extract downloaded archive |
| 3 | cd iDRACTools/racadm/RHEL7/x86_64 | Navigate to correct package folder |
| 4 | sudo alien srvadmin-*.rpm | Convert RPM to DEB |
| 5 | sudo dpkg -i *.deb | Install converted packages |
| 6 | sudo ln -s /opt/dell/srvadmin/bin/idracadm7 /usr/local/bin/racadm | Create 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]| Flag | Description |
|---|---|
-r | Remote iDRAC IP address or hostname |
-u | Username |
-p | Password (use quotes if it contains special characters) |
-i | Interactive — prompts for username/password |
-S | Enforce SSL — verify iDRAC certificate (recommended in production) |
Security: Avoid passing passwords on the command line in production scripts. Use
-ifor 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 serveractionGet system information (getsysinfo)
racadm -r 10.10.10.25 -u root -p "YourStrongPass!" getsysinfoReturns: 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)
| Action | Command | Description |
|---|---|---|
| Power on | serveraction powerup | Power the server on from off state |
| Graceful shutdown | serveraction powerdown | Graceful OS shutdown then power off |
| Force power off | serveraction powercycle | Hard power cycle — immediate, no OS shutdown |
| Graceful reboot | serveraction gracefulreboot | OS-level reboot via iDRAC (requires OS running) |
| Hard reset | serveraction hardreset | Force 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 powerdownReset 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 rebootAfter 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 --rebootJob 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 --allSSL 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.pemCertificate type (-t) | Description |
|---|---|
| 1 | Server (Web Server) certificate |
| 2 | CSR (Certificate Signing Request) |
| 3 | CA certificate |
Other useful commands
| Task | Command |
|---|---|
| Get iDRAC time | racadm -r <IP> -u <user> -p "<pass>" getractime |
| Get BIOS settings | racadm -r <IP> -u <user> -p "<pass>" getconfig -g cfgBIOS |
| Set static iDRAC IP | racadm -r <IP> -u <user> -p "<pass>" setniccfg -s <IP> <mask> <gateway> |
| Get temperature sensors | racadm -r <IP> -u <user> -p "<pass>" getsensorinfo |
| Get power consumption | racadm -r <IP> -u <user> -p "<pass>" getpbinfo |
| Enable/disable SSH on iDRAC | racadm -r <IP> -u <user> -p "<pass>" config -g cfgSerial -o cfgSerialSshEnable 1 |
| Export Lifecycle Controller log | racadm -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.envInteractive 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 ;;
esacDedicated 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
fiSet permissions
chmod 700 /usr/local/sbin/scripts/*.sh
chmod 600 /usr/local/sbin/scripts/idrac.envScheduling 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>&1Using 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
- Download Dell iDRAC Tools for Windows from Dell Support.
- Run the MSI installer as Administrator.
- Default install path:
C:\Program Files\Dell\SysMgt\racadm\racadm.exe - 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
endlocalPowerShell 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" /fWindows vs Linux quick reference
| Task | Linux | Windows |
|---|---|---|
| Install racadm | alien + dpkg | MSI installer |
| Run command | racadm -r IP -u user -p pass cmd | racadm.exe -r IP -u user -p pass cmd |
| Script language | Bash (.sh) | Batch (.bat) or PowerShell (.ps1) |
| Store credentials | .env file chmod 600 | Separate file or Credential Manager |
| Schedule one-time | at | Task Scheduler or schtasks |
| Schedule recurring | crontab | Task Scheduler or schtasks |
Troubleshooting
| Problem | Likely Cause | Fix |
|---|---|---|
alien: command not found | alien not installed | sudo apt-get install -y alien |
| dpkg dependency errors | Missing dependencies | sudo apt-get install -f after dpkg -i |
racadm: command not found | Symlink not created | sudo ln -s /opt/dell/srvadmin/bin/idracadm7 /usr/local/bin/racadm |
| "BMC communication" warning | Running without -r | Use -r <iDRAC-IP> for remote management |
| Connection refused | iDRAC unreachable, port 443 blocked | Ping iDRAC, check firewall |
| Authentication failed (401) | Wrong credentials | Verify in Web UI |
serveraction powerdown no effect | OS ignoring ACPI signal | Use powercycle for hard cut |
| SSL cert breaks Web UI | Missing intermediate chain | Restore via physical console |
| Cron job didn't run | Wrong timing or missing permission | Check crontab -l, script permissions, syslog |
| at job didn't run | atd not running | sudo systemctl enable --now atd |
Change Log
| Date | Version | Author | Changes |
|---|---|---|---|
| [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 |