Skip to content

Screenconnect / Connectwise Control

Connectwise Control Integration

Info

To make this work you will need the name of a the Service from one of your agents running a Screen Connect Guest.

Info

You can setup a full automation policy to collect the machine GUID but this example will collect from just one agent for testing purposes.

From the UI go to Settings > Global Settings > CUSTOM FIELDS > Agents

Add Custom Field
Target = Client
Name = ScreenConnectService
Field Type = Text
Default Value = The name of your SC Service eg. ScreenConnect Client (XXXXXXXXXXXXXXXXX)

Service Name

Add Custom Field
Target = Agent
Name = ScreenConnectGUID
Field Type = Text

Service Name

While in Global Settings go to URL ACTIONS

Add a URL Action
Name = ScreenConnect
Description = Launch Screen Connect Session
URL Pattern =

https://<your_screenconnect_fqdn_with_port>/Host#Access/All%20Machines//{{agent.ScreenConnectGUID}}/Join

Service Name

Navigate to an agent with ConnectWise Service running (or apply using Settings > Automation Manager).
Go to Tasks.
Add Task
Select Script = ScreenConnect - Get GUID for client (this is a builtin script from script library)
Script argument = -serviceName{{client.ScreenConnectService}}
Descriptive name of task = Collects the Machine GUID for ScreenConnect.
Collector Task = CHECKED
Custom Field to update = ScreenConectGUID

Service Name

Click Next
Check Manual
Click Add Task

Right click on the newly created task and click Run Task Now.

Give it a second to execute then right click the agent that you are working with and go to Run URL Action > ScreenConnect

It should ask you to sign into your Connectwise Control server if you are not already logged in and launch the session.


Install Tactical RMM via Screeconnect commands window

  1. Create a Deplopment under Agents > Manage Deployments
  2. Replace <deployment URL> below with your Deployment Download Link.

x64

#!ps
#maxlength=500000
#timeout=600000

Invoke-WebRequest "<deployment URL>" -OutFile ( New-Item -Path "C:\temp\trmminstallx64.exe" -Force )
$proc = Start-Process c:\temp\trmminstallx64.exe -ArgumentList '-silent' -PassThru
Wait-Process -InputObject $proc

if ($proc.ExitCode -ne 0) {
    Write-Warning "$_ exited with status code $($proc.ExitCode)"
}
Remove-Item -Path "c:\temp\trmminstallx64.exe" -Force 

x86

#!ps
#maxlength=500000
#timeout=600000

Invoke-WebRequest "<deployment URL>" -OutFile ( New-Item -Path "C:\temp\trmminstallx86.exe" -Force )
$proc = Start-Process c:\temp\trmminstallx86.exe -ArgumentList '-silent' -PassThru
Wait-Process -InputObject $proc

if ($proc.ExitCode -ne 0) {
    Write-Warning "$_ exited with status code $($proc.ExitCode)"
}
Remove-Item -Path "c:\temp\trmminstallx86.exe" -Force