A comprehensive PowerShell module wrapper for the N-able Backup Manager (Cove Data Protection) ClientTool.exe command-line interface.
This module provides PowerShell cmdlets that wrap all available ClientTool.exe commands, making it easier to:
- Manage backup selections and schedules
- Monitor backup/restore sessions
- Configure datasources (MySQL, Oracle, Network Shares, etc.)
- Automate backup operations
- Integrate with PowerShell scripts and workflows
This module includes comprehensive documentation to help you get started quickly:
- QUICKSTART.md - 3-step getting started guide with the most common commands and quick tips
- QUICK-REFERENCE.md - Complete command reference organized by category with code examples, pipeline tips, and common workflows
- CLIENTTOOL-COMMANDS.md - Detailed reference for underlying ClientTool.exe commands with all arguments and examples
- README.md (this file) - Full module documentation with installation instructions and detailed usage examples
- Examples.ps1 - Runnable demonstration script with 10 working examples showing actual output
Choose the documentation that fits your needs:
- New to the module? Start with QUICKSTART.md
- Need a specific command? Check QUICK-REFERENCE.md
- Want to see it in action? Run Examples.ps1
- Need underlying command details? See CLIENTTOOL-COMMANDS.md
- Need comprehensive details? Read this README.md
Run the install script to copy the module to your PowerShell modules directory:
# Navigate to the module directory
cd "C:\Script Root\0-Script Master\Modules\ClientTool"# Install for current user (no admin required)
.\Install-Module.ps1# Or install for all users (requires admin)
.\Install-Module.ps1-Scope AllUsersAfter installation, you can import the module from any PowerShell session:
Import-Module ClientToolImport directly from the module directory without installing:
# Import from the module directoryImport-Module"C:\Script Root\0-Script Master\Modules\ClientTool\ClientTool.psd1"- PowerShell 5.1 or higher
- N-able Backup Manager installed (default path:
C:\Program Files\Backup Manager\ClientTool.exe) - Appropriate permissions to run ClientTool.exe
By default, the module looks for ClientTool.exe at:
C:\Program Files\Backup Manager\ClientTool.exe
If your installation is in a different location, update the path:
Set-ClientToolPath-Path "D:\Custom\Path\ClientTool.exe"# Start backup for all datasourcesStart-ClientToolBackup# Start backup for specific datasourceStart-ClientToolBackup-DataSource FileSystem
# Start backup non-interactivelyStart-ClientToolBackup-DataSource FileSystem -NonInteractive# List all backup selectionsGet-ClientToolSelection# List selections for specific datasourceGet-ClientToolSelection-DataSource FileSystem
# Add a folder to backupSet-ClientToolSelection-DataSource FileSystem -Include "C:\Data"# Add folder with exclusion and high prioritySet-ClientToolSelection-DataSource FileSystem `-Include "C:\Data"`-Exclude "C:\Data\Temp"`-Priority High
# Add multiple pathsSet-ClientToolSelection-DataSource FileSystem `-Include @("C:\Data","C:\Users") `-Exclude @("C:\Data\Cache","C:\Users\Public\Temp")
# Clear all selections (requires confirmation)Clear-ClientToolSelection# List all backup/restore sessionsGet-ClientToolSession# List sessions for specific datasourceGet-ClientToolSession-DataSource FileSystem
# Get session errorsGet-ClientToolSessionError# View session nodesGet-ClientToolSessionNode# Stop running session (requires confirmation)Stop-ClientToolSession# Get current program statusGet-ClientToolStatus# Get application statusGet-ClientToolApplicationStatus# Get system information (RAM/CPU)Get-ClientToolSystemInfo# Check for initialization errorsGet-ClientToolInitializationError# List configured schedulesGet-ClientToolSchedule# Note: New-ClientToolSchedule, Set-ClientToolSchedule, and Remove-ClientToolSchedule# require additional parameters based on ClientTool's requirements# MySQLGet-ClientToolMySqlServer# New-ClientToolMySqlServer (requires parameters)# Set-ClientToolMySqlServer (requires parameters)# Remove-ClientToolMySqlServer (requires parameters)# OracleGet-ClientToolOracleServer# Similar add/modify/remove functions available# List network sharesGet-ClientToolNetworkShare# Add, modify, or remove shares (functions available)# List custom scriptsGet-ClientToolScript# List archiving rulesGet-ClientToolArchivingRule# Functions available for add/modify/remove operations# List application settingsGet-ClientToolSetting# List file system filtersGet-ClientToolFilter# Open Backup Manager UI in browserOpen-ClientToolUI# Get authentication tokenGet-ClientToolAuthToken# Get password requirementsGet-ClientToolPasswordRequirements# Reset dashboard email subscriptionReset-ClientToolDashboardEmailMany cmdlets support standard PowerShell risk mitigation parameters:
# Preview what would happenStart-ClientToolBackup-DataSource FileSystem -WhatIf
# Require confirmationClear-ClientToolSelection-Confirm
# Bypass confirmationRemove-ClientToolSchedule-Confirm:$falseEnable verbose output to see the actual ClientTool.exe commands being executed:
Start-ClientToolBackup-DataSource FileSystem -VerboseOutput from list commands returns PowerShell objects that can be piped:
# Get sessions and filter by datasourceGet-ClientToolSession|Where-Object { $_.DSRC-eq'FileSystem' }
# Count selections
(Get-ClientToolSelection).Count
# Export to CSVGet-ClientToolSession-DataSource FileSystem |Export-Csv-Path sessions.csv -NoTypeInformationThe module follows PowerShell naming conventions:
Get-ClientTool*- Retrieves informationSet-ClientTool*- Modifies existing configurationNew-ClientTool*- Creates new itemsRemove-ClientTool*- Deletes itemsStart-ClientTool*- Initiates operationsStop-ClientTool*- Terminates operationsClear-ClientTool*- Removes all items of a type
The module includes built-in error handling:
try {
Start-ClientToolBackup-DataSource FileSystem
}
catch {
Write-Error"Backup failed: $_"
}All functions include detailed help documentation:
# Get help for any cmdletGet-HelpStart-ClientToolBackup-Full
Get-HelpSet-ClientToolSelection-Examples
Get-HelpGet-ClientToolSession-Detailed
# List all available commandsGet-Command-Module ClientTool- Some cmdlets (like
New-ClientToolSchedule,Set-ClientToolSetting, etc.) are framework stubs that require additional parameter implementation based on the specific arguments ClientTool.exe expects. UseClientTool.exe help -command <command.name>to determine required arguments. - The module automatically handles machine-readable output parsing for list commands
- Non-interactive mode can be enabled for automation scenarios
- All modify/remove operations support
-WhatIfand-Confirmparameters
- Initial release
- Complete cmdlet coverage for all ClientTool.exe commands
- Support for all datasources (FileSystem, Exchange, MySQL, Oracle, VMware, VSS, etc.)
- Automatic output parsing for tabular data
- Error handling and validation
- PowerShell best practices implementation
To extend or modify this module:
- Edit
ClientTool.psm1for function implementation - Update
ClientTool.psd1to reflect changes - Test thoroughly with
Import-Module -Force
Copyright (c) 2025. All rights reserved.