Viewing the Sysadmin screen within a CRM session

1 minute read time.

One request we receive on occasion is how to view the Sysadmin screen when you're not logged on to the CRM server. The sysadmin screen retrieves a list of currently logged-on users from the eWare DLL (as opposed to the Activity table), and also gives details of escalation rules and user actions, which are useful when doing performance troubleshoot. Jeff blogged about it a while back.

One of the more interesting things about the Sysadmin screen is that you can kick any currently-active user session. By default, we only allow access to this screen when the user is logged on to physical server on which CRM is hosted (for security reasons), but you may find that there's a requirement to make this available externally.

Here's a simple ASP page that will query the sysadmin screen using an XMLHttpRequest, then make this visible anywhere, so long as you're logged into CRM. You can add this to your Administration -> Users area by going to Administration -> Advanced Customization -> System Menus -> AdminUsers. You'll need to add a new CustomFile action, pointing it to your page.

I saved my copy of the page to the CRM CustomPages directory as LoggedOn.asp. Adding user_per_admin=3 to the SQL field will prevent any users that aren't admins from seeing the link for the screen. There's an additional check on the page to ensure that it can only be run by an admin.

You'll notice that I've stripped out some of the data from this screen for appearance's sake - it's relatively easy to reinstate the original sysadmin screen should you so wish. When you click on a user's session, a request to kick the user will be forwarded on to the sysadmin screen being accessed on the server. I've also replaced some of the user agents to make the screen more legible.

The code for the custom page is attached, you just need to rename it to LoggedOn.asp and place it in your CustomPages directory to run.