SelfX new version, a tool allowing users to solve their issues themselves
In this post I will show you the new version of SelfX, a tool allowing you to reduce number of tickets/calls to support by allowing users to solve their issues by themself before contacting support.
The solution
When a user has an issue the process to solve it is often the same:
1. User contacts support team or opens a ticket
2. Someone from help desk contacts the user
3. Help desk may remotely connect to the device
4. Solve the issue manually or using PowerShell
A lot of issues can be solved without admin rights and as you may know, you can automate a lot of things.
For instance let's take some examples:
- User has sync issue with OneDrive
- Status on Teams is not correct
- Teams meeting button is missing in Outlook
- Teams is freezing on audio conversation
- Teams camera is frozen/invisible
- Device is running slow
- Issues with VPN
All those issues can be solved with PowerShell without admin rights.
The goal of the tool is not to provide a list of issues and scripts to solve your issues.
I provide a list of issues and scripts but the goal of the tool is to let you adding:
- Issues list for users depending of your context
- Scripts to solve those issues
The tool is totally dynamic meaning you don't need to edit PS1 or XAML.
Adding your own issues with scripts can be achieved in just two steps:
- Add issues explanation in XML file
- Copy PS1 to solve it in a folder
In the downloaded Sources folder you will find:
- Folder Scripts_to_run: contains your scripts
- Issues_List.xml: contains list of issues
- Tool_Config.xml: change design, language...
Everything in the tool can be managed through the Issues_List XML:
- List of issues
- Label of each issue
- Scripts to run
- Warning displayed into the details button
- Text displayed into the Run action button
You can add as many actions or categories you want in the tool.
Indeed everything is managed just with an XML file: actions list, title, subtitle...
You will see more informations about the process later in the post.
The user GUI
The GUI looks like as below:
It is composed as below:
1. Title and subtitle explaining what does the tool
2. A legend explaining what buttons do
3. List of issues by categories (OneDrive, Teams...)
4. A search bar to type key word
5. Each line corresponds to an issue
7. On each line there are two buttons:
- Run an action to solve the issue (script in background)
- Show an explanation about the issue
If user clicks on the first button, a script is executed in background to solve the issue:
If user clicks on the second button, it gives more details about the issue:
See below a picture resuming this:
Process in action
I am a user and I have an issue with Teams.
Indeed when I try to send a message on Teams I have a warning "Failed to send".
How do i resolve this easily ?
1. Open SelfX desktop shortcut
2. In the search bar I type Failed
OR
2. In the dropdown menu, I choose Teams
3. I choose the appropriate issue
4. I click on Details to get more info
5. I click on the blue button to solve the issue
6. It informs me of the action
7. I click on OK
8. Teams is closed automatically
9. I wait a bit
10. Teams appears again
11. Now I can send messages again :-)
Advantages of the tool
Totally free
The tool is totally free you can use it and customize it as you want.
Easy to customize
You can customize whatever you want in the tool:
- List of issues
- All text in the tool
- Color of the tool
- Icon
You don't need to change the PS1 because everything can be done by editing an XML file.
Easy to install
It can be deployed through Intune, MECM or whatever you want.
We will see the install process later in the post.
Easy to update/manage
All issues are displayed through an XML file.
This way, you can really easily add a new issue in the tool by adding a new line in the XML and copy a script in a folder.
!! I don't provide a tool with scripts to solve issue !!
Multilanguage
Everything in the tool can be managed through an XML file.
You can change all text using the XML file meaning you can translate it easily to your own language.
We will see this in the part later in the post.
Reduce support tickets/calls number
The idea of the tool is to allow users to solve their issues themselves without calling support team.
The goal is then to solve/avoid all basic tickets/call to 1st, 2nd support level depending of your support team organization.
Issues list location
All issues are located in an XML file.
This XML is by default located locally.
It's also possible to use it from the Web, like blob storage.
We will see this in the part later in the post.
Easy to use
The tool is really easy to use for a user.
He just has to scroll down the list of action and search if he finds something relative to his issue.
He can, also choose a category of functionnalities on which his issue occurs like Teams, OneDrive, device...
A search bar also allows him to type a key word like synchronisation...
How to get the tool ?
Click on the below GitHub picture to download the tool
How does it work ?
1. To install it run Install_tool.ps1
2. A SelfX folder is created in %localappdata%
3. It contains sources: PS1, XAML, the XML issues list...
4. Shortcut will be available on desktop and start menu
5. After running the shortcut, a GUI will be displayed
6. The GUI will load content from XML
How to add issues ?
As mentioned before, the GUI displays a list of issues.
All issues are provided through an XML file, nothing to do in the PS1 or XAML.
The XML is located in %localappdata%\SelfX\Issues_List.xml
The goal of the tool is that you manage issues to add.
Adding a new action/issue in the list can be achieved in 2 steps:
- Add new node in the XML
- Copy PS1 in the Script_to_run folder
XML node is composed as below:
- Name: text displayed in the main list
- Buttons: Text of the buttons in run action warning
- Explanation: warning after clicking on the 2nd button
- Script: file executed after clicking on the 1st button
- Category: category of the action
- Alerte_MSG: warning after clicking on the 1st button
See below en explanation about configuring the Run action warning:
For instance, I want to add an action allowing user to run a gpupdate.
For this, I will:
- Add new category called device
- Display action: Update Active Directory policies
See below the appropriate node:
Then next step is to copy your script in the Scripts_to_run folder.
When you run again the shortcut, you will see the new action.
Let's take another example:
You want to add a new category called VPN and a script to solve VPN issues.
We will add a new category called VPN and add it in the XML.
Now users open the tool they will see a new category with the issue.
Issues list location
There are two ways to get list of issues in the tool:
- Locally
- From the web (like blob storage)
Locally
In this case proceed as below:
1. Edit the Issues_List.xml file
2. Go to XML_Version
3. Increase version if you added changes
4. Add your issues
5. Copy script in Scripts_to_run folder
You need to add your issues before installing the tool.
From the web
In this case proceed as below:
1. Edit the Issues_List.xml file
2. Go to XML_Version
3. Type the new XML version (depending of your change)
4. Add your issues
5. Copy scripts in Scripts_to_run folder
6. ZIP content of Scripts_to_run folder
7. Upload the Scripts_to_run.zip somewhere (for me a blob storage)
If you use this way, each time the user will run SelfX, it will first get XML from the web and check if this is the latest version.
How to install it ?
As mentioned before there are two installation methods:
- Locally
- From the web (for issues list)
Locally
For the local method we will proceed as below:
1. Add your issues in the XML (as mentioned above)
2. Run Install_tool.ps1 without admin rights
From the web
To use issues list from the web, we will add two parameters to Install_tool.ps1
The idea is to use both content from the web like on a blob storage:
- Issues_List.xml
- Scripts_to_run folder
We will add below parameters:
- XML_Link: path of Issues_List.xml
- ZIP_Link: path of Scripts_to_run.zip
We will proceed as below:
1. Add your issues as mentioned previously
2. Run Install_tool.ps1 with parameters
3. A new XML called List_Config that stored paths
Now every time user opens the SelfX shortcut it will check compare XML_Version from the Issues_List.xml located locally and this one on the web.
If version is greater on the web it will automatically copy new XML locally an download the Scripts_to_run.zip.
When a new version is detected after opening the tool you will see a progress bar:
To check the XML version used in the tool, go to the ? button in the title bar.
This will display the tool version and the XML version.
The XML version is the version found locally.
Implementing with Intune
Creating the package
1. Update Issues_List.xml with your issues
2. Download the tool here
3. Run the tool
4. Go to Build tab
5. Go to Package sources part
6. Click on Browse
7. Select the folder containing your application
8. Go to Application name
9. Select Install_tool.ps1
10. Go to Location part
11. Click on the Browse button
12. Select the folder where to save the intunewin package
13. Click on Build the intunewin package
14. Create a new Win32 app in Intune
15. Integrate the new intunewin created
Integrating in Intune
1. Go to Intune
2. Go to Client apps
3. Go to Apps
4. Click on Add
5. Select Windows app (Win32)
6. Browse to the intunewin
7. Click on OK
8. Click on App information > Configure
9. Select install as user
10. Type informations, as below:
11. In Install command type this:
12. In Uninstall command type
13. Click on OK
14. Type your requirements
15. Click on Detection rules > Configure
20. Select Use a custom detection script
21. In script file select Intune_Detection_Script.ps1
22. Click on Next
23. Click on OK twice
24. Click on Add
Assigning the app
1. Go to Assignments
2. Click on Add group
3. Assign as you want
Modifying main tool
Changing language
As mentioned previously, you can easily change the language of the GUI by managing an XML file.
For that proceed as below:
1. Edit the file Tool_Config.xml
2. The main GUI looks like as below:
See below properties from the XML corresponding to the GUI.
To change with your language, just edit content from XML.
Changing tool color
You can easily customize the color of the tool.
By default the color is Cyan.
To change it, proceed as below:
1. Edit the Tool_Config.xml file
2. Search following node: Tool_Color
3. Add color you want
4. Here below I changed it to Red
5. See below the result:
Available colors: Red, Green, Blue, Purple, Orange, Lime, Emerald, Teal, Cyan, Cobalt, Indigo, Violet, Pink, Magenta, Crimson, Amber, Yellow, Brown, Olive, Steel, Mauve, Taupe, Sienna
Changing icon location
You can choose if you want to add an icon to desktop and start menu.
For this proceed as below:
1. Edit the Tool_Config.xml file
2. Set below node to True or False
- Shortcut_Desktop
- Shortcut_StartMenu
Install toast notif
You can display a toast notification to users informing them a new tool is available on their devices.
For this proceed as below:
1. Edit the Tool_Config.xml file
2. Set Show_Install_Toast to True or False
3. Configure the notif with below nodes:
4. See below how to use them:
5. See below an overview of the toast notif
Adding support info part
You can add a button allowing user to see information about help desk, support team.
See below an overview of this part :
To add it we will proceed as below:
1. Edit the Tool_Config.xml file
2. Search node Show_Support_Button
3. Set it to True
4. Configure support info using below node:
- Support_Phone_number
- Support_Mail_Label
You can also configure language of the text.
See below how to customize this part using the Issues_List.xml
2 commentaires
Im trying to run your Selfx Version, having modified only appearance. My Problem is, when i put the Issue_List and the Script Folder on a Weblink...the Tool is hang itself everytime i start it after installation.
So the first time he does it correctly and download it from the weblink. But as soon i start Selfx it comes with : "Trying to Update XML File" and this endlessly. The funny part is when i close this window i can use the tool normally with all functions. How can i get rid of the "loading screen" ? Do i miss something ?
me again :)
i Found out that it is hanging here :
Function Close_modal_progress{
$syncProgress.Window.Dispatcher.Invoke([action]{$syncProgress.Window.close()})
$PsChildCmd.EndInvoke($Script:Childproc) | Out-Null
}
It cannot close the windows but i dont know why, thats why it works when i close it manually...
Enregistrer un commentaire