There are some ways ... about 10 different ways to do it really. But nothing out of the box. And we'd like to offer something out of the box. Here is a way to join a session based on a tag with a ClickOnce browser:
Put this in your ScreenConnect directory and your sessions will be joinable through a URL like
http://support.mycompany...MPUTERNAMECASESENSITIVE
For 2.3 and below it'll need to be modified. At least you'll have to remove the last argument "true" in the GetAccessToken call.
Code:
<%@ WebHandler Language="C#" Class="LaunchHostClient" %>
using System;
using System.Web;
using System.Collections.Generic;
using System.Linq;
using System.Configuration;
using Elsinore.ScreenConnect;
public class LaunchHostClient : Elsinore.ScreenConnect.SingletonHandler
{
public override void ProcessRequest(HttpContext context)
{
Permissions.AssertPermission(new PermissionRequest { Name = PermissionInfo.JoinSessionPermission }, false);
var tag = context.Request.QueryString["Tag"];
var relayUri = ServerExtensions.GetRelayUri(ConfigurationManager.AppSettings, HttpContext.Current.Request.Url, true, true);
using (var sessionManager = Elsinore.ScreenConnect.ServiceChannelPool<Elsinore.ScreenConnect.ISessionManagerChannel>.Instance.Borrow())
{
var sessionSummary = sessionManager.GetSessionSummaries().Where(ss => ss.Tag == tag).First();
var clp = new ClientLaunchParameters();
clp.Host = relayUri.Host;
clp.Port = relayUri.Port;
clp.SessionID = sessionSummary.SessionID;
clp.ProcessType = ProcessType.Host;
clp.EncryptionKey = ServerCryptoManager.Instance.PublicKey;
clp.AccessToken = ServerCryptoManager.Instance.GetAccessToken(clp.SessionID, clp.ProcessType, context.User.Identity.Name, true);
clp.ApplicationTitle = Resources.Default.Client_ApplicationTitle;
clp.SessionTitle = sessionSummary.Tag;
var url = new Uri(context.Request.Url, "Bin/Elsinore.ScreenConnect.HostClient.application" + ClientLaunchParameters.ToQueryString(clp));
//context.Response.Write(url.AbsoluteUri);
context.Response.AppendHeader("Refresh", "0; URL=" + url.AbsoluteUri);
}
}
}