Loading...

SelfX (Self fix), a tool allowing users to solve issues themselves

Reply A+ A-


In this post I will show you 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.


Context

When users have issue, the process to solve it is often the same:

1. User contacts support or opens a ticket

2. Help desk contacts the user

3. Someone remotely connect to the device

4. He solves 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

- Teams meeting button is missing in Outlook

- Users have an issue with Teams

- Users have an issue with OneDrive

- Device is running slow


How the tool can be useful ?

Many issues can be solved with PowerShell and without admin rights.

With the tool issues can be solved as below:

1. User has an issue

2. He runs the tool

3. He searches the item correspon,ding to his issue

4. He clicks on the Run button

5. A script is executed in background

6. The issue is solves


The goal of the tool is not to provide a list of issues and scripts to solve your issues.

The tool allows you to run script in user context meaning without admin rights.


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 your 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


All issues 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...


What's new ?

There is now 2 views in the tool: Simplified and Detailed.


The detailed view lists issues by issue label meaning you can have many issues for Teams, OneDrive...

Here below is an example for OneDrive:

- Red cross on OneDrive

- White cross on OneDrive

- Solve OneDrive sync issues

- OneDrive does not start


The simplified view lists issues by product like:

- I have an issue with Teams

- I have an issue with OneDrive


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


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.


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...


Get the tool

Click on the below GitHub picture to get the tool.


In the downloaded Sources folder you will find:

- Scripts_to_run.zip: scripts to run

- Issues_List.xml:  list of issues

- Tool_Config.xml: tool config (design, language...)


The user GUI

The main GUI looks like as below:

There is also the following theme:


It is composed as below:

1. Title and subtitle explaining what does the tool


2. A legend explaining what buttons do


3. View Simplified or Detailed


4. List of issues by categories (OneDrive, Teams...)


5. A search bar to type key word

6. 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 OneDrive.


How do I resolve this easily ?

1. Open SelfX desktop shortcut

2. In the dropdown menu, I choose OneDrive

3. I choose the appropriate issue


4. I click on the green button 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. OneDrive is closed automatically

9. I wait a bit

10. OneDrive appears again

11. Now I can send messages again :-)

OR

1. Open SelfX desktop shortcut

2. I select Simplified view

3. I select Solve an issue with OneDrive (method 1)

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. If the issue is not solved i run the method 2


How does it work ?

1. To install it run Install.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 items in issues list ?

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 add your own issues in the list.

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


The main part of the tool is the Issues_List.xml file containing issues that can be solved.

The XML is organized as below:

- Actions in the Actions node

- Version of the list in in XML_Version

- Quick_Solution node contains issues located in the Simplified view

- Detailed_Solution node contains issues located in the Detailed view


See below how looks like the node for an action in the XML:


See below the same action in the tool:


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 warning while clicking on the the Run button:


See below a picture explaining correspondance between nodes and how it's displayed in the GUI:


See below an overview of the Run button versus what is in the XML for this action:


In the following example, I want to add a new action in the Simplified view.

This action allows users to run a gpupdate.

To proceed I need to:

I will proceed as below to add this action:

1. Add new node under Quick_Solution

2. Action name: Update Active Directory policies

3. Category will be Device

3. Create a PowerShell script with gupdate

4. Copy the PS1 in the Scripts_to_run folder


See below appropriate node for this action:


When you run again the shortcut, you will see the new action, as below:


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 ?

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.ps1 without admin rights


From the web

To use issues list from the web, we need to add two parameters to Install_tool.ps1:

- XML_Link: path of Issues_List.xml

- ZIP_Link: path of Scripts_to_run.zip


We will proceed as below:

1. Add your issues in the XML

2. Upload the XML somewhere like blob storage

3. Add your scripts in Scripts_to_run

4. ZIP the Scripts_to_run folder

5. Upload the ZIP somewhere like blob storage

6. Run Install.ps1 with parameters

7. In XML_Link parameter add path of the XML

8. In ZIP_Link parameter add path of the ZIP


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.


Modifying main tool

Changing language

You can easily change the language of the GUI by managing the XML config file.

For that you just need to edit the file Tool_Config.xml

See below properties from the XML corresponding to the GUI:


To change with your language, just edit content from XML.


Changing tool color

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. Here below I changed it to Red

<Tool_Color>Red</Tool_Color> 

4. 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 tool theme

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_Theme

3. default theme is Dark

4. Here below, I set it to Light

<Tool_Theme>Light</Tool_Theme>

5. See below the result:



Changing shorctut 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 nodes to True or False

- Shortcut_Desktop

- Shortcut_StartMenu


Renaming shortcut name

As mentioned you can choose to display the tool shortcut on the user desktop or start menu or both.

By default, the shortcut name is: SelfX (Self fix).


You can easily change the name.


In the below example i change it to Solve an issue.

For that proceed as below:

1. Edit the Tool_Config.xml file

2. Edit the node Shortcut_Name

3. The default value is the following one:

<Shortcut_Name>SelfX (Self fix)</Shortcut_Name>

4. See the new one:

<Shortcut_Name>Solve an issue</Shortcut_Name>

5. See below the new shortcut:


Displaying the reboot warning

At the bottom of the GUI there is a reboot warning, as below:

You can customize the text through the Tool_Config.xml file.

For that set the following property Reboot_Alert.

You can also choose to display it or not by configuring the property Show_Reboot_Warning to True or False.


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 Tool_Config.xml:



Tool config
See below content of the XML with explanations:

Implementing with Intune

Creating the package

1. Download the tool here

2. Run the tool

3. Go to Build tab

4. Go to Package sources part 

5. Click on Browse

6. Select the folder containing your application

7. Go to Application name

8. Select Install.ps1

9. Go to Location part

10. Click on the Browse button

11. Select the folder where to save the intunewin package

12. Click on Build the intunewin package

13. Create a new Win32 app in Intune


Integrating in Intune

1. Go to Intune

2. Go to Apps

3. Click on Add

4. Select Windows app (Win32)

5. Browse to the intunewin

6. Click on OK

7. Click on App information > Configure

8. Select install as user

9. Type informations, as below:


10. In Install command type this:

11. In Uninstall command type 

12. Click on OK

13. Type your requirements

14. Click on Detection rules > Configure

15. Select Use a custom detection script

16. In script file select Detection.ps1

17. Click on Next

18. Click on OK twice

19. Click on Add


Assigning the app

1. Go to Assignments

2. Click on Add group

3. Assign as you want

slider 1351588026172388833

Enregistrer un commentaire

Accueil item

Award

Sponsors

Learn KQL in one month

You want to support me ?

Mes articles en français

Books in French


Stats