- 16 Jun 2025
- 3 Minutes to read
- Print
- DarkLight
- PDF
Install-CUMonitor: Install a Monitor
- Updated on 16 Jun 2025
- 3 Minutes to read
- Print
- DarkLight
- PDF
The ControlUp Automation module includes the Install-CUMonitor PowerShell cmdlet which allows you to install a ControlUp Monitor programmatically on machines in your organization. To install a monitor, you must provide an API Key generated from app.controlup.com. Note that installing the monitor with the Automation module automatically installs the ControlUp Agent, and also self-registers the Agent in your organization.
Benefits
- Automated Deployment: Script-driven installation enables consistent, repeatable monitor deployments across multiple machines without manual configuration.
- Cloud and Workgroup Support: Install monitors on workgroup machines, cloud VMs, and isolated environments without domain connectivity requirements.
- Zero-Touch Installation: Fully automated process from binary download to service registration - no manual steps required after running the command.
- Built-in Error Handling: Automatic rollback on failure and detailed error reporting for troubleshooting deployment issues.
- Infrastructure as Code: Integrate monitor deployment into CI/CD pipelines, Infrastructure as Code workflows, and automated provisioning scripts.
- Consistent Configuration: Ensure all monitors are deployed with identical settings, reducing configuration drift and human errors.
- Version Control: Specify exact monitor versions for controlled deployments and easy rollback scenarios.
Prerequisites
- ControlUp Real-Time DX Console version 9.0 or higher
- If your organization already exists in the Console, the user who installs the monitor must be a Roles Manager.
- If your organization doesn’t exist in the Console, you must be assigned the DEX Admin role for permission to deploy monitors. Note that running Install-CUMonitor automatically bootstraps a new Real-Time DX organization. The name of this organization will be the same as in DEX.
Syntax
Install-CUMonitor
-Token <string>
-ZipFilePath <string>
-Version or -Latest <string>
-SiteName <string>
-Template <string>
-ProxySettings <ProxySettingsObject>
-DomainDns <string>
-DomainUser <string>
-DomainUserPassword <SecureString>
-PublicDNSName or -InternalDNSName <string>
-Certificate <string>
-CertificatePassword <SecureString>
Parameters
Parameter | Description | Required |
---|---|---|
Token string (API Key) generated by web UI for authentication and authorization. If not provided, the current profile's API Key will be used. For more cmdlets to manage API Keys, see here. | Yes | |
-ZipFilePath | Full path to the ZIP folder that contains the ControlUp Monitor binaries. If not provided, -Version will be used. | No |
-Version | Switch parameter for -Latest, monitor version. | No |
-Latest | Switch parameter for -Version, latest monitor version. If provided, overrides -Version. | No |
-SiteName | Name of the monitor site. If not provided, the monitor will be added to the default site. | No |
-Template | Name to define the monitor template. Available templates include:
If empty, the selected template will be all. | No |
-ProxySettings | Proxy settings that the monitor will use to connect to the ControlUp services. If not provided, the default system proxy settings will be used. If -SiteName is provided, the proxy settings and credentials will be added to the specific site, if no proxy settings already exist. Example to create proxy settings variable:
| No |
-DomainDns | If provided and no AD connection already exists in the domain, the AD connection will be added with the -DomainUser and -DomainUserPassword credentials. If -SiteName is provided, the AD connection and credentials are added to the specific site. | No |
-DomainUser | Domain user name. If not provided, the AD connection won’t be added. | No |
-DomainUserPassword | Domain user password. If not provided, the AD connection won’t be added. Example to create password variable:
| No |
-PublicDNSName | Switch parameter for -InternalDNSName, publicly accessible DNS name required for ControlUp Agent to communicate with monitor. | Yes, if no -InternalDNSName |
-InternalDNSName | Switch parameter for -PublicDNSName, internally accessible DNS name required for ControlUp Agent to communicate with monitor. | Yes, if no -PublicDNSName |
-Certificate | Path to the certificate file (.pfx) required for Advanced Authentication. Only needed if your organization requires certificate-based authentication and the certificate is not already installed in Local Machine > Personal certificates. | Conditional |
-CertificatePassword | Secure string containing the password for the certificate private key. Required when using the -Certificate parameter | Conditional |
Install Monitor on a Machine
To install a monitor on a machine, follow the steps below. These steps should be executed on the machine where you intend to deploy the monitor.
1. Open a PowerShell session with elevated permissions and install the module:
Install-Module ControlUp.Automation
2. Import the module:
Import-Module [PathTo_ControlUp.Automation]
3. Install the monitor:
Install-CUMonitor
-Token "[API Key]"
-PublicDNSName "[Machine Name].[Connection-specific DNS Suffix]"
-InternalDNSName "[Machine Name].[Connection-specific DNS Suffix]"
Example:
Install-CUMonitor
-Token "eyJhbGciOiJIUzI1NiJ9.eyJleHAiOjE3Mzc5NzY0NjEsImlhdCI6MTcwNjQ0…."
-PublicDNSName "PSMonitor01.4rgvsyeccjuujimhr5m1ljkc.bx.internal.cloudapp.net"
-InternalDNSName "PSMonitor01.4rgvsyeccjuujimhr5m1ljkc.bx.internal.cloudapp.net"
If you want to deploy other monitors, repeat steps 1-3.
If you want to deploy a monitor with custom manual settings, we recommend you use the following script as a base to create your own:
Install-CUMonitor -Token "[API Key]" -InternalDNSName "[Machine Name].[Connection-specific DNS Suffix]"
Results
Writes single result object to PowerShell with the following properties:
- Error. In case of failure, the reason will be displayed.
- Success. Indicates if the monitor installation and login completed successfully.
In case of failure during the installation, all the changes will be canceled. In case of failure during login, the changes will be implemented.
If these cases occur, you can uninstall the monitor by running Uninstall-CUMonitor