/
/

How to Use RMM for Capacity Planning

by Lauren Ballejos, IT Editorial Expert
How to Use RMM for Capacity Planning blog banner image

🔑 Key Points

  • Proactive IT Capacity Planning with RMM
    RMM platforms help IT teams and MSPs proactively forecast infrastructure needs, optimize performance, and prevent bottlenecks by limited CPU, RAM, or storage.
  • Automated Hardware & Performance Monitoring
    PowerShell, Bash, and CMD scripts automate device inventory, monitor CPU/memory/disk usage, and detect aging or underperforming hardware.
  • Cross-Platform Compliance & Lifecycle Management
    RMM solutions centralize device data, enforce encryption and security policies, align with warranty and support cycles, and ensure OS readiness (e.g., Windows 11 compatibility).
  • Trend Analysis & Forecasting for IT Growth
    Monitoring key thresholds (disk, RAM, CPU) enables early bottleneck detection, smarter refresh cycles, and data-backed IT budget planning.
  • NinjaOne for Data-Driven Optimization
    NinjaOne streamlines capacity planning with automated inventory, scripting, reporting, and lifecycle tagging to boost efficiency and reduce costs.

Capacity planning is a key role for IT teams and managed service providers (MSPs), allowing you to plan ahead and ensure your IT infrastructure can handle and enable future growth.

This guide provides examples of how remote monitoring and management (RMM) platforms, combined with scripting and automation, can be used to assess your devices’ performance and utilization to ensure they are meeting your end-users’ needs. By leveraging PowerShell in Windows and Bash scripting in macOS/Linux, you can preemptively identify devices that are no longer meeting their end users’ requirements, and align your hardware refresh lifecycles with real-world trends.

Why IT Teams and MSPs need informed hardware capacity planning

Productivity is negatively affected if users’ devices cannot keep up with their day-to-day tasks. Insufficient drive space can slow down devices and prevent them from functioning correctly, a lack of CPU power or memory can make apps run slowly (especially modern web-based productivity software), and obsolete hardware may not support modern encryption and security standards. This can negatively impact a business’s efficiency, and even lead to compliance issues.

Centrally monitoring for under- or over-utilized devices means that these problems can be proactively identified. Devices can then be upgraded, replaced, or re-assigned on a lifecycle that ensures that all IT resources are fully optimized, without unnecessary cost. This is particularly important with the end of support for Windows 10: many devices do not support running Windows 11, even when upgraded, and will need to be rapidly replaced.

Key goals and prerequisites

RMM platforms provide a central place for collecting, parsing, reporting, and alerting on devices’ hardware, software, and user activity. As part of their remote management features, many RMM solutions also support the remote execution of scripts.

This allows you to deploy custom scripts that collect the metrics relevant to your organization, and ensure that all devices meet your requirements. This can include:

  • Inventory age and specification data
  • CPU, memory, disk I/O, and thermal performance
  • Underperforming or over-utilized devices
  • Hardware health metrics

To do this, you will require:

  • A RMM platform with inventory collection, automation, and reporting (for example, NinjaOne)
  • Script support (PowerShell for Windows, Bash for Linux/macOS)
  • Access to system BIOS or WMI for hardware manufacturing data
  • Optional access to Group Policy in Windows domain environments to enforce consistent logging and data availability
  • Knowledge of your organization’s hardware lifecycle policies or warranty periods

In addition to this, you can also use RMM to monitor for compliance factors, such as whether encryption is enabled, and enforce policies.

Using PowerShell to collect hardware age and specifications

While it’s increasingly common for devices to last many years and still be able to keep up with their defined tasks, age can be a good way to identify when hardware may be a candidate for replacement. For example, you may want devices to always be within warranty, or to identify devices that will no longer be supported by the latest operating system updates. You may also want to identify whether you have specific device models in your fleets to address known flaws or product recalls.

On Windows devices with PowerShell available, you can get the hardware manufacturer and model by running the command:

Get-CimInstance Win32_ComputerSystem | Select-Object Manufacturer, Model

You can also retrieve the BIOS release date, which can be used to assess a device’s age:

Get-CimInstance Win32_BIOS | Select-Object ReleaseDate

Run the following command on each device to catalogue CPU info:

Get-CimInstance Win32_Processor | Select-Object Name, MaxClockSpeed, NumberOfCores

Or query RAM and disk capacity:

Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property Capacity -Sum

Get-PSDrive -PSProvider ‘FileSystem’ | Select Name, Free, Used

Once data has been collected, you can export the output of the above commands by running:

Export-Csv -Path “C:\Reports\hardware_summary.csv” -NoTypeInformation

This data can then be held for future analysis, or sent to your RMM platform for reporting.

CMD-Based inventory and performance checks

Legacy devices that do not support PowerShell can be inspected using CMD commands from the command prompt.

Get the system model and manufacturer name:

wmic computersystem get manufacturer, model

Read BIOS date and version:

wmic bios get releaseDate, version

Check system uptime:

net statistics workstation | findstr “since”

Read disk usage:

wmic logicaldisk get caption, size, freespace

Using Bash on Linux/macOS for asset inventory

You can also catalogue your Linux and macOS devices for capacity planning using Bash commands and scripting.

CPU info on Linux can be collected by running:

lscpu | grep “Model name”

Check the amount of RAM on Linux with the command:

free -h

Output disk and partition usage on Linux and macOS:

df -h

Read BIOS or hardware date in Linux:

dmidecode -t bios | grep -i date

On macOS, you can use the system_profiler command for detailed hardware information.

If your RMM is cross-platform and supports Windows, macOS, and Linux, you can collect all capacity planning data in one location for a full overview of your devices’ health and usage.

Using the Registry to detect aging hardware characteristics

The Windows Registry also includes information that is useful for assessing devices for capacity planning purposes. You can query registry values with PowerShell. For example, the installation date of the OS (a proxy for system deployment date) is stored in InstallDate at HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion, while the system model and OEM tag are often stored in the SystemProductName and BaseBoardManufacturer within HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\BIOS.

Using Group Policy to enforce baseline logging for capacity monitoring

Group Policy in Active Directory can be used to enforce configurations to standardize what data is logged for later inventory and performance analysis. Using Group Policy Objects (GPOs), you can enforce audit logging of performance events, trigger local scripts to run on startup/shutdown to capture system information, and configure Windows Event Logs to retain performance or storage usage metrics.

Group Policy can also be used to add scheduled scripts for uploading captured information to your RMM solution if it does not do so itself through its agent software.

Trending and threshold-based forecasting

Effective capacity planning requires identifying trends over time to predict future performance issues (such as a device running out of space), and future capacity requirements. For example, you may track systems with <15% disk space for more than 30 days, monitor average RAM usage exceeding 85% over 2 months, or identify systems with CPUs running consistently above 80%.

Tracking these kinds of metrics will help identify devices that are falling behind, before they frustrate users.

Additional considerations for IT capacity planning

You should keep inventory of all of your devices and automate warranty checks using your RMM platform. If a device malfunctions, you can then determine immediately whether the best action is repair or replacement.

Plan your hardware and software lifecycles in coordination: if a known operating system or software requirement is on the horizon, make sure your hardware refresh aligns with it and meets those requirements. This can be aided by differentiating refresh cycles by device role, ensuring costs are optimized and that users aren’t receiving devices that exceed their requirements, and that power users are not limited by their hardware.

By correlating your capacity planning across hardware and software, identifying and meeting user requirements, you can support IT budgeting discussions with evidence and ensure that you can justify the resources required to keep your users working efficiently.

Troubleshooting capacity planning data collection

There are a few common issues IT departments and MSPs run into when collecting hardware data remotely:

  • Incomplete hardware data: Ensure WMI service is running or PowerShell is allowed
  • Old systems missing CIM classes: Use fallback to Get-WmiObject or wmic
  • Inconsistent outputs across OS: Normalize data in CSV with clear headers and units before reporting
  • Data collection fails: Verify script permissions and output folder access

Using NinjaOne for fully informed, data-driven capacity planning

NinjaOne enables data-driven capacity planning, powered by its RMM platform and comprehensive enterprise IT administration and MSP toolset.

Using NinjaOne, you can perform cross-platform inventory tracking, including the automated, periodic collection of operating system, manufacturer/model, CPU, memory, storage, BIOS/UEFI, and other hardware and software data across Windows, macOS, and Linux.

You can deploy custom PowerShell, CMD, and Bash scripts to every device, schedule data collection jobs to identify trends, and export all data for custom hardware lifecycle reporting. NinjaOne also includes device inventory tools, so you can tag devices by age, warranty status, or role to assist with capacity planning and ensure that no device is left behind.

Want to know the answers to the most common questions IT teams and MSPs ask about RMM? Explore our RMM FAQs.

Quick-Start Guide

Capacity Planning with NinjaOne RMM

NinjaOne offers several features that can support capacity planning:

1. Device and Performance Monitoring
– The RMM allows you to track key performance metrics like:
– Device uptime
– CPU usage
– Memory usage
– These metrics help you understand the current resource utilization of your devices

2. Patch Management for Strategic Updates
– NinjaOne supports “Ring Deployments” for patching, which can be a form of capacity planning
– You can:
– Create device groups with different roles
– Stagger patch deployments across different “rings”
– Test updates on a small group before wider deployment

3. Network Management System (NMS)
– Provides monitoring for network devices like routers, switches, and firewalls
– Helps track network infrastructure performance and capacity

4. Asset Management
– Tracks device information and inventory
– Helps understand your current infrastructure and potential upgrade needs

5. Reporting and Insights
– Generate reports on device performance
– Identify trends in resource utilization
– Make informed decisions about potential upgrades or expansions

Recommended Approach
– Regularly review performance metrics
– Use ring deployments to minimize risk during updates
– Monitor device health and resource consumption
– Plan infrastructure changes based on comprehensive data

FAQs

RMM capacity planning is the process of using Remote Monitoring and Management tools to anticipate IT resource needs, maintain optimal performance, and ensure devices meet CPU, memory, and storage requirements.

RMM tracks device health, age, and usage so IT teams can upgrade or replace hardware before failures, reducing costs and downtime.

Yes, cross-platform RMM solutions use PowerShell, Bash, and CMD scripts to gather performance data from all endpoints.

CPU, memory, disk space, BIOS age, and warranty status are key to spotting bottlenecks and guiding hardware refresh cycles.

NinjaOne automates inventory, scripting, and reporting to streamline capacity planning and support data-driven IT decisions. It also enables proactive hardware lifecycle tracking by tagging devices by age, usage, and warranty status to guide timely upgrades and replacements.”

You might also like

Ready to simplify the hardest parts of IT?