logo
Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

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


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

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


Rank: Administration

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

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

Thanks: 3 times
Was thanked: 291 time(s) in 249 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.

Code:

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")
			return;
		
		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.