SysSupport: The Best FREE Support tool for companies that use SCCM
Here is a Free support tool for SCCM. This tool will be used by all your support people to provide the best remote support to your user base.
SCRIPTSPROGRAMSSCCM
b
3/21/20257 min read


What do we have here?
I know I ‘redacted’ a lot of the information, but you get the point. I hope....
SysSupport pulls data from SCCM and displays it for you 'the support person'. Once the data is retrieved you can do a few actions in relation to the associated computer. Here is the basic scenario in which the tool is used.
You get a phone call from a user and their computer is busted. You plug in part of the users name to get information about the user. They have a computer and you click to get the computer information. Maybe they're in the wrong OU, maybe the SCCM client in unhealthy, maybe you can't talk them though support over the phone and you want to remotely connect and take over their machine?
or maybe you just want an easy tool to inventory software?
or you just want an easy tool to RDP to your servers?
or you just want a simple way to validate a user is setup correctly?
The current information provided was based on the information that was used in the company for which I provided the tool. Your company may retrieve different information from Active directory, but this is the most useful set of information based on the SCCM discovery tools. I will provide the process to get the data to load and retrieve the data and you are missing some fields.
Features...
This is an Admin tool for any person that has ‘Administrative’ Access in a windows environment and needs to help their users.


1. Starting with only 3 characters from a users’ name, or userid, you can query to get user’s details and the computers associated with their account
2. Or search for a computer name and get the data form that direction instead. You can leave the Computer Name blank and it will add all the computers, or if you have a prefix for certain types of systems such as servers, then your server team can use it as an easy rdp tool.
3. Beneath the Find User button is a datagrid with all the matching user to your search. Click on a name and it will populate the Computer datagrid to the right and also the user data below the User data grid.
4. Beneath the Find computer button you will see a computer datagrid. This will get populated by either clicking on a user from the left, or from clicking on the find computer button. Click on a computer name and it will populate the computer details associated with the computer account
5. Show Applications button. Will populate the two datagrids at the bottom of the screen. On the left is all the ARP entries where the ones on the right are the ones associated with the user rather than the computer.
6. SCCM Remote Button - This will open the Sccm remote tool and auto connect to the machine you are currently viewing.
7. RDP remote – This will open the the remote desktop tool and connect to the machine you are viewing.
8. Admin Share – This will open and explorer window on the remote computer to allow you to look at logs or other files for troubleshooting
9. Computer management – This will open the remote computer management mmc to look at the services, or devices, or admin groups, etc.
10. Beyond Trust – this will open the web portal for beyond trust. If you use the tool within your environment, then this is useful, if not, then ignore the button
11. Options tab – for setting the connection strings for the databases based on your database setup. You may need help from your SQL admin if you are not familiar with this.
The options tab is where you tell the tool how to connect to the SQL database.
here is an example connection string I use to connect to the SCCM database. yours may be different
Server=SQLHA01\SCCMSQLDB;Database=CM_ABC;Integrated Security=True;TrustServerCertificate=True;
Server=SQLHA01\SCCMSQLDB
Server: Specifies the SQL Server instance to connect to.
SQLHA01: This is the hostname or network name of the server where SQL Server is running.
\SCCMSQLDB: This indicates a named instance of SQL Server. SQL Server allows multiple instances to run on the same machine, and each instance has a unique name. Here, SCCMSQLDB is the name of the instance.
If this were a default instance, you would only see the server name (e.g., Server=SQLHA01).
Database=CM_ABC
Database: Specifies the name of the database to connect to.
CM_ABC: This is the name of the database on the SQL Server instance.
Integrated Security=True
Integrated Security: This indicates that the connection will use Windows Authentication (also known as integrated security).
True: Enables Windows Authentication, meaning the current Windows user credentials will be used to authenticate with SQL Server.
If this were set to False, you would need to provide a username and password (e.g., User ID=myuser;Password=mypassword).
TrustServerCertificate=True
TrustServerCertificate: This is related to SSL/TLS encryption for the connection.
True: The client will trust the server’s SSL/TLS certificate without validating it. This is often used in development or testing environments where a valid certificate is not available.
In production environments, this should typically be set to False, and a valid certificate should be used to ensure secure communication.
The options tab has a bonus feature - The Custom Button
I knew not everyone would be using beyond trust, so I added the logic to make this your custom button.
The default option I added when you first install the tool has CMTRACE running from your windows folder to open the appenforce.log from a remote computer. This is handy for me because it helps me troubleshooting installation issues, but it requires that you have cmtrace in your windows directory. Which you may not have.
I also added the option to use Powershell commands and listed a few examples in the box below.
If you have any remote command line tools that accept a computername entry to do a task, then this button may come in handy for you.


Prerequisites...
This tool requires a database and access to said database.
This doesn’t just pull data from SCCM. That would be tool slow for those locations across the world. And I don’t want to give you a slow tool. Also it is best not to directly query the SCCM database. So we will need a few things in place to get this working.
1. You will need to create a database (I call mine TOOLS) that will store some information that we retrieve from SCCM. I placed mine on the same server as SCCM.
If you don’t know how to create a database, then contact your SQL server guy. I’m sure he would add a blank database next to the sccm server database.
If you don’t know where this is located, then you need to get a better understanding of what SCCM is and how to support it properly (or find your SCCM admin).


2. You will need to EDIT, then run my SQL Script. This will create all the tables, views, stored procedures, and account needed to access the data. The script name is Sysupport.sql.txt and stored within the zip file you get below. you will need to make the following changes before running the script.
You need to create the initial database manually first. I named mine TOOLS. I didn't want to add this to the script for reasons.
You will either need to remove the portions relating to the user account and just use domain users for read access to the database, or create a domain user group to allow access. I used GG_SCCM_ReadOnly as my group name, then moved the users of the tool into this group.
Replace the [TOOLS] in the top line with the database you created for sysupport
replace all instances of <<MYDOMAIN>> with your actual domainname: Example MICROSOFT
replace all instances of <<CM_SITECODE>> with your actual sitecode: example CM_ABC
3. You will need to install the actual tool.
It just throws all the needed files into a folder, then creates a shortcut to it.
The tool Requires admin access to run
The tool requires you have access to read the TOOLS database created above.
4. You need windows desktop runtime 8. The setup should download and install it, but if you use the ms, then you'll want to setup the runtime as a dependency in sccm. I assume everyone is running 64 bit at this point. Here is the link
Site Specific details...
If some fields are not populating, then you may not have discovery for that property added within SCCM.
User data is pulled from the
\Administration\Overview\Hierarchy Configuration\Discovery Methods
Open the Active Directory User Discovery Properties


User computer affinity needs to be setup in order to get the linkage between users and computers. Within SCCM go to the following location:
\Administration\Overview\Client Settings
Add the missing attributes or edit the sql to remove them.


You can use this simple SQL query
SELECT TOP 10 * FROM v_R_User;
To see the list of properties as fields in the sccm database.


Identify the specific client setting you use for your affinity, or just use the default.


If yours is set to no for some reason, then you’ll need to manually set the affinity.
Go to \Assets and Compliance\Overview\Device Collections
Select the appropriate collection, then ‘Manage Affinity Requests”


Or Manage them one at a time by going into the collection, selecting the user or computer and Edit Primary




SQL stating you're Missing Fields?
Users not linked to computers?
If you like this tool, then you'll love
SysQueryPro
displayName
Mail
telephoneNumber
employeeID
manager
physicalDeliveryOfficeName
Full_User_Name
User_Name
department
title