Powershell tool: Software Center for MDT
https://www.systanddeploy.com/2018/02/powershell-tool-software-center-for-mdt.html
In this post I will show you a tool I created in
Powershell, called MDT Software Center that allows you to install software,
languages packs, upgrade OS... from your main Deployment Share like the
Software Center from SCCM.
In SCCM, as you may know, there is a great
functionality called Software Center.
That allows you to install items to a client computer
from a distribution point.
MDT is really a great OS deployment solution. However,
in a company that only uses MDT, there is no possibility to deploy software or
whatever else from a client computer.
So why not using a solution like
this with MDT?
That's why I decided to create this tool. Yeah I know
I'm a bit crazy, but I like it, jejejeje (Octavio this is for you). So now
let's see how works the tool.
Thanks Nico, Jérôme and Octavio for your tests.
Note: If the EXE is recognized as a Trojan by your Antivirus, don't panic, it's not. The EXE is actually an self-extracting archive made with Winrar and sometimes antivirus don't like it. In this case use the source folder and not the EXE.
Note: If the EXE is recognized as a Trojan by your Antivirus, don't panic, it's not. The EXE is actually an self-extracting archive made with Winrar and sometimes antivirus don't like it. In this case use the source folder and not the EXE.
How to get the tool?
Which context ?
Tool videos explanation
Which context ?
The main Deployment Share could
be located:
- On an USB Stick
- On a Deployment
Share located on your network
Tool videos explanation
How to use it
How to implement it
How it looks like ?
The tool, fully done in Powershell, is composed of five
parts:
- Applications
- Language packs
- Updates
- OS Upgrade
- Installation status
Applications
This part list all applications located in your deployment share.
This part list all applications located in your deployment share.
The tool detects automatically if an application is
already installed on your computer, or if a different version is installed or
if it's not installed.
See below how works this part in details.
Application part overview |
- If an application isn't installed, Install button is
enabled, as below.
- If an application isn't enabled on the Deployment
Share, it's marked as Not available.
Language packs
It lists language packs located in your Deployment
Share and detects if the MUI is compatible, already installed or not.
- If the OS version of the client isn’t compatible with
the language pack listed, it’ll be marked as Not available for this OS version.
Language packs part overview |
- If the OS version of the client is compatible with the
listed language pack and if it’s not already installed, it will be marked as
Not installed.
- If the OS version is compatible and the MUI is already
installed, it will be marked as Already installed.
Depending of the language the MUI flag will change.
See below an overview of an MUI installation:
Depending of the language the MUI flag will change.
MUI Flag change |
OS Upgrade
This part lists all Upgrade Task Sequence from your
Deployment Share.
Each Task sequence will be compared with the OS
available on your Deployment Share to get information.
OS Upgrade part overview |
- If the OS version of the client is the same of this
one included in your Upgrade TS, it will be marked as Already installed.
- If the OS version of the client is greater than this
one from the Upgrade TS, it will be marked as Not available for this OS
version.
It lists all update packages located in your
Deployment Share (OnDemand & Update/Security).
Updates part overview |
- If the client OS version isn’t compatible with the
update listed version, it will be marked as Not available for this OS version.
- If the OS version of the client is compatible with the
listed package and not already installed, it will be marked as Not installed.
- If the OS version of the client is compatible with the
listed package and already installed, it will be marked as Already installed.
Installation status
It lists all installation that have been done on the
client using the tool.
The view message button allows you to display the
error message, as below:
Installation status part overview |
Display error message |
What is added?
When an installation is finished, the script Check_for_error.ps1 will check values from the file C:\Windows\Temp\DeploymentLogs\Results.xml located in the client.
Those values will be added in the Catalog_error_status.xml.
Where is located the installation status history?
As mentioned in the next part, the Catalog_error_status.xml and Check_for_error.ps1 files have to be copied in the Scripts folder from your Deployment Share.
You also have to create a step in the Catalog TS to run the Check_for_error.ps1 script.
How does it work ?
How does it work ?
Interaction tool - Deployment Share
Check for errors step
To resume,
1 / You have an EXE and a MDTSoftwareCenter_Configuration.xml
file located on the client.
2 / The xml file is used to set some information like the deployment share path. See below an overview.
2 / The xml file is used to set some information like the deployment share path. See below an overview.
3 / The tool will use this file to connect to the
Deployment Share after running the EXE.
4 / Then, content from your Deployment Share will be
listed.
5 / To install for instance an application, click on the
application to install and click on the Install button.
6 / This will run the MDT process.
File to download
The download link is composed as below
Download link content |
To copy in your Deployment Share
Copy files located in Copy in your Deployment Share\In
Scripts in the Scripts folder of your deployment Share.
To copy on the client
Copy content from On C on the C: drive from the
client.
Copy content from On desktop on your client computer
desktop.
What to add on client ?
Copy the Catalog exe file on desktop
Copy the xml on the C: drive
What to add in your deployment Share?
Scripts and xml
Part to add is located in the folder: Copy in your
Deployment Share
Add the files below in the Scripts folder from your
Deployment Share.
Check_for_errors.ps1
Install_Packages.ps1
Catalog_Error_Status.xml
Task Sequence
Create a new Task sequence configured as below:
Type: Custom Task
Sequence
ID: CATALOG.
Catalog TS properties |
The tool will run this TS.
See below how is composed the TS.
Catalog TS Content |
Install applications Step
Install Packages step
Install applications step properties |
Install applications step options |
Install Lang and Packages step properties |
Install Lang and Packages step options |
Check for errors step |
How does the tool detect that a software is installed
or with a different version?
When an application is added by the tool, it will
automatically add some registry keys. This way it’ll be detected next time.
It will create a key
HKLM\Software\MDT_Catalog\Applications.
In this key each application installed will create a
key using the name located in the Applications.xml see below.
It will also create two strings as below
What's next ?
It will also create two strings as below
What's next ?
1 / Enable display in full screen
2 / Create a display with tile like in software center from SCCM
3 / Create notification in teams when item is installed
4 / Add a login screen in the tool, to connect to the
deployment share
5 / Display notification when new items are available on
the deployment share
6 / Create an external script that allows you to
customize the tool by
- Adding your own logo
- Changing the theme
- Changing the main color
1 commentaire
Hello,
The download link doesn't work anymore. Can you please update it?
Enregistrer un commentaire