The ConnectWise Control forum has moved to ConnectWise University! This forum has been locked and is in read-only mode. Click here for instructions on how to access the new forum.

Welcome Guest! You can not login or register.



Go to last post Go to first unread
#1 Posted : Wednesday, March 8, 2017 6:35:03 PM(UTC)

Rank: Newbie

Joined: 9/23/2015(UTC)
Posts: 8
United States

Is it possible to make a change locally on a ScreenConnect endpoint that will change a property that can be filtered against on the server interface?

Here's what I am trying to accomplish...

I have a ScreenConnect agent and another RMM tool installed on all the systems I manage. The RMM tool on the endpoint occasionally gets hung and doesn't check into our server. When this happens, the ScreenConnect agent is still online and I can use the remote command line tools to fix the problem. This has been a huge help. I was trying to figure out a way to use ScreenConnect to proactively determine when the RMM tool is offline. Can I create a script or command that changes a property of the ScreenConnect the agent that is displayed on the server interface. I could use that script to add the current date to that property. I could then filter ScreenConnect for online agents where that property does not equal the current date. Can I do anything like that? Can anyone think of another way I could use ScreenConnect to review the status of my RMM tool? I know this is outside of the normal supported function of the software, but my co-workers would be thrilled if I found a way to make this work!

Thanks in advance!

Edited by user Wednesday, March 8, 2017 6:35:41 PM(UTC)  | Reason: Not specified

#2 Posted : Monday, March 20, 2017 4:40:37 PM(UTC)

Rank: Administration

Medals: Level 4: Wise Old Owl! Received 100 Thanks!

Joined: 3/28/2014(UTC)
Posts: 2,862
United States

Thanks: 3 times
Was thanked: 351 time(s) in 303 post(s)
So, the answer is yes, but it's rather complicated. The obvious way to do this is to modify the client launch parameters which are found within the registry on the remote machine. This parameter list contains 8 c= items each representing a single Custom Property. The downside to this is that the server only pays attention to this query string when the client calls back with a new SessionID; meaning you would have to modify the S parameter each time which would create a duplicate session on the Host page, far from ideal.

The better solution from my perspective is to create an Extension with a WebService class containing a single method that changes a custom property for a session. With this setup your script would execute on the remote machine and instead of changing a value locally, it would make a WebRequest to your ScreenConnect server and pass the Session's SessionID and a value to which the custom property should be changed.

The "Integration Sample" template extension within the Extension Marketplace has an 'UpdateSession' method that is pretty similar to what you would want to create within your Extension.


public void UpdateSession(string integrationKey, string byHost, Guid sessionID, string name, bool isPublic, string code, string[] customPropertyValues)
		// Ensure it's the thing you're integrating with that's calling the method
		// This can be done in a number of ways depending on the integrating system (or just personal preference)
		if(integrationKey != "the correct value")
		SessionManagerPool.Demux.UpdateSession(byHost, sessionID, name, isPublic, code, customPropertyValues);
ScreenConnect Team
Users browsing this topic
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.