PowerShell module for the Nerdio Manager for MSP (NMM) REST API.
Disclaimer: This is an unofficial, community-maintained module created by Nerdio Sales Engineers. It is not officially supported by Nerdio. Use at your own risk.
Full documentation: https://Get-Nerdio.github.io/NMM-PS/
Install-Module -Name NMM-PS -Scope CurrentUserUpdate-Module -Name NMM-PS# Quick install script
iex (irm https://raw.githubusercontent.com/Get-Nerdio/NMM-PS/main/Install.ps1)
# Or clone and import manually
git clone https://github.com/Get-Nerdio/NMM-PS.git
Import-Module ./NMM-PS/NMM-PS.psm1Create Private/Data/ConfigData.json:
{
"BaseUri": "https://api.yournmmdomain.com",
"TenantId": "your-tenant-id",
"ClientId": "your-client-id",
"Scope": "111111-111-1111-11111-1111111111/.default",
"ClientSecret": "your-secret"
}See NMM API Docs for setup instructions.
Import-Module NMM-PS
Connect-NMMApi
# List all accounts
Get-NMMAccount
# Get host pools for an account
Get-NMMHostPool -AccountId 123
# Chain commands with pipeline
Get-NMMAccount | Get-NMMHostPool# Interactive color-coded command list
Get-NMMCommand
# Filter by category
Get-NMMCommand -Category HostPool
# Get as objects for scripting
Get-NMMCommand -AsObject | Where-Object { $_.Category -eq 'Device' }Connect-NMMApi# Create certificate, upload to Azure AD, update config
New-NMMApiCertificate -ExportToCertStore -Upload -UpdateConfig
# Connect using certificate thumbprint
Connect-NMMApi -CertificateThumbprint "YOUR_THUMBPRINT"See the Authentication Guide for details.
Run Get-NMMCommand for a full list, or see the cmdlet reference.
| Category | Examples |
|---|---|
| Accounts | Connect-NMMApi, Get-NMMAccount |
| Host Pools | Get-NMMHostPool, Get-NMMHostPoolSettings, New-NMMHostPool |
| Session Hosts | Get-NMMHost, Get-NMMHostSchedule |
| Desktop Images | Get-NMMDesktopImage, Get-NMMImageTemplate |
| Users & Groups | Get-NMMUser, Get-NMMUsers, Get-NMMGroup |
| Devices (Beta) | Get-NMMDevice, Get-NMMDeviceCompliance, Sync-NMMDevice |
| Backup | Get-NMMBackup, Get-NMMProtectedItem, Get-NMMRecoveryPoint |
| Automation | Get-NMMScriptedAction, Get-NMMSchedule, Get-NMMAutoscaleProfile |
| Reports | Invoke-NMMReport, New-NMMReport, ConvertTo-NMMHtmlReport |
Hidden API (Experimental)
Warning: The Hidden API accesses internal NMM web portal endpoints that are not part of the official API. These endpoints may change without notice and could break at any time. Use at your own risk.
Access internal NMM APIs not exposed via the public REST API using browser cookie authentication.
# Start listener and open browser for authentication
Connect-NMMHiddenApi
# After logging in and clicking the browser extension:
Invoke-HiddenApiRequest -Method GET -Endpoint "accounts"See the Hidden API Guide for setup instructions including the browser extension.
This module is NOT officially supported by Nerdio.
This repository is a collaborative space maintained by Nerdio Sales Engineers on a best-effort basis.
- Unofficial - Not an official Nerdio product
- No warranty - Provided "as-is" without any guarantees
- No SLA - No commitment to response times or fixes
- Use at your own risk - Test thoroughly before production use
- May break - API changes may cause issues without warning
- Community support only - Use GitHub Issues for questions
By using this module, you acknowledge that:
- You understand this is unofficial software
- You will not contact Nerdio Support for issues with this module
- You accept all risks associated with using unofficial tools
- Fork the repository
- Make your changes
- Submit a pull request with a detailed description
MIT License - See LICENSE file for details.
