Share This Post

PowerShell / System Center

SCCM 2012 – Retire Application

Hi All,

SCCM 2012 (and 2012 R2) have an option called Retire that allows you to block creation of new deployment of the application.

It is useful when using with Supersedense when you’re upgrading an application and you don’t want deploy the old application anymore.

Per documentation, When you retire an application, it is no longer available for deployment but the application and any deployments of the application are not deleted. Existing copies of this application that were installed on client computers will not be removed. If an application that has no deployments is retired, it will be deleted from the Configuration Manager console after 60 days. However, any installed copies of the application are not removed.

Well…this is really interesting, it is more interesting that you can “reinstate” the application if needed, but be aware, only retiring the application will not block people from installing. if have an active deployment, people can still use it.

My recommendation is always to retire an application if you’ll not use it anymore and after couple of weeks delete it from SCCM as well as any related files

ok, good, but what steps should be taken?!?!

I always recommend the following:
1- rename application to start with “Retired-”
2- moving the source files from the source directory to a “Retired” directory
3- update any DT source folder
4- moving the application to a “Retired” folder in the SCCM console
5- removing any active deployment
6- if you use security scope, create and use 1 for retired application

Doing this, will help out when you need to delete the application. and if you need to reinstate the application?!?!?…simple, you only need to re-create the deployment

as you can see, it is an easy task…but time consuming…

Anyway…to help out with this process, I create a powershell script and a console extension that does this for you:
1- it will rename the application, adding a “Retired-” at the beginning,
2- remove any security scope and add a “Retired” security scope
3- move application to a “Retired” folder into SCCM
4- copy files from the source location to a “retired” location and deleting the “original source directory”
5- change the source folder of any DT to the new folder
6- delete any existing deployment
7- finally, mark application as retired

To do it, download the RetireApplication zip file, extract and add the files to the following places:

RFL-ApplicationDetail.xml to <CM12R2Console Installation Path)XmlStorageExtensionsActions968164ab-af86-459c-b89e-d3a49c05d367 (change the CM12R2Console to the path of the console :) )
RetireApplication.ps1 to C:ScriptsCM12R2Console on the same computer where you installed the CM12 R2 Console

Open the RetireApplication.ps1 script and change the $NewRootPath with the Root where the retired applications are going to be created

Once you have done it, restart the console and you’ll see a new action group called RFL Systems and once you right click any device, you’ll also be able to see the action (see below screenshot)

when you click, a powershell screen will be shown and the “magic” will happen

just keep in mind, to use this script you’ll need:
1- create a folder called Retired under applications
2- create a security scope called Retired

Share This Post

Leave a Reply