Remote Desktop Manager
Remote Desktop Manager is a remote desktop and connection management app. Protocol Launcher allows you to generate official Remote Desktop Manager rdm:// protocol handler URLs.
Usage
There are two ways to use this library:
- On-Demand import from subpaths enables tree-shaking and keeps bundles small.
- Full Import from the root package is convenient but includes all app modules.
Pick On-Demand for production builds; Full Import is fine for quick scripts or demos.
Select Installation Method
Notes
This module only wraps the actions and parameters documented by Devolutions for the Remote Desktop Manager protocol handler: open, find, edit, view, OpenWithMacro, and select, with DataSource, Session, Template, Host, Port, Username, Password, Domain, Title, Filter, and Tabpage parameters.
Devolutions states that an action and at least one parameter are required. DataSource and Session are enough to open a connection. Template requires Host. Tabpage is documented as available only with the Select action, with the listed values Overview, Documentation, Macros/Scripts/Tools, Management Tools, Information, Attachments, Logs, and Recordings; this module also keeps Devolutions' exact rdm://open?Filter=RDP&Tabpage=Dashboard example.
These examples intentionally use fake IDs, a reserved host, and placeholder credentials. Do not publish real workspace IDs, session IDs, template IDs, hostnames, usernames, passwords, domains, or license-sensitive information.
URL Methods
Open
Open Remote Desktop Manager with the Search field populated, matching the official example.
import { open } from 'protocol-launcher/remote-desktop-manager'
const url = open({
filter: 'RDP',
tabpage: 'Dashboard',
})Open a specific session with DataSource and Session.
import { open } from 'protocol-launcher/remote-desktop-manager'
const url = open({
dataSource: 'd4cb6537-0471-4c07-a91b-43a5e1f1f007',
session: 'f368d57a-d6ac-4b84-a79e-6e4f6cb3d2e1',
})Open with a template and host, plus documented connection overrides.
import { open } from 'protocol-launcher/remote-desktop-manager'
const url = open({
template: 'b32e4f20-7c1e-4872-b5cb-c893cc2fc272',
host: 'server.example.com',
port: 3389,
username: 'admin',
domain: 'EXAMPLE',
title: 'Support Session',
})Find
Find sessions by host.
import { find } from 'protocol-launcher/remote-desktop-manager'
const url = find({
host: 'server.example.com',
})Edit
Edit the specified connection.
import { edit } from 'protocol-launcher/remote-desktop-manager'
const url = edit({
session: 'f368d57a-d6ac-4b84-a79e-6e4f6cb3d2e1',
})View
View the password of the specified entry.
import { view } from 'protocol-launcher/remote-desktop-manager'
const url = view({
session: 'f368d57a-d6ac-4b84-a79e-6e4f6cb3d2e1',
})Open With Macro
Open the specified entry with a macro.
import { openWithMacro } from 'protocol-launcher/remote-desktop-manager'
const url = openWithMacro({
session: 'f368d57a-d6ac-4b84-a79e-6e4f6cb3d2e1',
})Select
Select a connection in the navigation pane and focus a dashboard tab.
import { select } from 'protocol-launcher/remote-desktop-manager'
const url = select({
session: 'f368d57a-d6ac-4b84-a79e-6e4f6cb3d2e1',
tabpage: 'Overview',
})Generated URLs
open(openSearchParams)
// => 'rdm://open?Filter=RDP&Tabpage=Dashboard'
open(openSessionParams)
// => 'rdm://open?DataSource=d4cb6537-0471-4c07-a91b-43a5e1f1f007&Session=f368d57a-d6ac-4b84-a79e-6e4f6cb3d2e1'
open(openTemplateParams)
// => 'rdm://open?Template=b32e4f20-7c1e-4872-b5cb-c893cc2fc272&Host=server.example.com&Port=3389&Username=admin&Domain=EXAMPLE&Title=Support%20Session'
find(findParams)
// => 'rdm://find?Host=server.example.com'
edit(editParams)
// => 'rdm://edit?Session=f368d57a-d6ac-4b84-a79e-6e4f6cb3d2e1'
view(viewParams)
// => 'rdm://view?Session=f368d57a-d6ac-4b84-a79e-6e4f6cb3d2e1'
openWithMacro(openWithMacroParams)
// => 'rdm://OpenWithMacro?Session=f368d57a-d6ac-4b84-a79e-6e4f6cb3d2e1'
select(selectParams)
// => 'rdm://select?Session=f368d57a-d6ac-4b84-a79e-6e4f6cb3d2e1&Tabpage=Overview'These examples do not render live launch buttons because the official handler can open sessions, show passwords, or start macro-driven workflows.