Friday, December 19, 2014

This may not be related to Geeks Amok, but in general it is Geek Related by association of Computers and Software. For those of you who might care, here at the Geeks Amok Studios we have day jobs. For me that is a SCCM Administrator/Engineer for a government facility.

This post is for anyone using the Install Applications based on a Variable within a Task Sequence and receives the following errors in the SMSTS.log when troubleshooting:
No matching policy assignment received
Policy download failed, hr = 0x8004005
Policy completed with exit code 2147500037

I had an issue with implementing a specific way of getting applications installed on a system without having to wait for them to individually install at any given time based on all the rules of SCCM.

I have been struggling with the concept of using one image for all instead of one image for each model and then for each department. The biggest complaint of our Deployment users is the time it takes to get the applications on the system after the Task Sequence completes especially if it is a new system that is not in Active Directory and not known to SCCM. So the next step was to create an application only task sequence that can be run by the user or deployment personnel that will install all applications assigned to that system. In our environment, we use Active Directory groups for each application we deploy and create a collection in SCCM that creates a membership based on a query of the AD Group name. So for every application we deploy we have one active directory group and one collection. The reason behind this is the limitations we have in effect that limit the users who are tasked with managing software on the machines. We created the AD Groups so that they can just add the system to the Member of tab so SCCM will do the rest for them.

I struggled getting the applications to install using the Install Applications by Variable. The first problem I came across was the lack of knowledge for how to accomplish this. Then the misunderstanding of how to implement it and so on. Eventually after scanning forums and not getting the answers I need, I came across the technet documentation for SCCM 2012 Config Manager on How to Deploy Applications in a task sequence. Every forum I came across no one mentioned the specific reason why everyone who was experiencing this issue did not get it to work. Everyone mentioned you must have the "Allow application to install in a Task Sequence if not deployed" checked within the Advanced Tab of the Application Properties. Then if that wasn't solving your problem, recreate it all and try again. I confirmed all the programs had the box checked, I took out all the Memberships of the AD Groups and assigned my test system to only one group, I recreated the deployment, deployment type and finally the application and still had the issue. It all came down to how I was using the Variables within the Collection Variables tab of the Collection the Application was deployed to. It turns out that when you set the Name of the variable using your variable format, ie APP as the Variable in the Task Sequence and APP01 being the Name of the Variable for the first application you want installed the Value MUST BE SET TO THE NAME OF THE APPLICATION THAT WAS SET IN THE APPLICATION PROPERTIES. So if you created an application named Microsoft Office then the Value of the Variable must be Microsoft Office as well. Below is the quick process to setup it up.

First you create 'Install Application' step of your Task Sequence(s) you want to use it in using the following Highlighted Guidelines. Note that I only am using the APP variable instead of APP01 or so on. This is because APP is the common naming scheme within all your Collection Variables in the following steps. This must come after the Setup and Configure Windows step or create a task sequence with only this step in it that can be run from the Software Center by the user or as a requirement. I am not going into detail on how to create a task sequence.


Second, you will need to create your Application and Deployment Type (followed by updating the distribution points) using the Highlighted Guidelines. NOTE: The name is what you MUST USE in the collection variable step coming up. Also make sure the check box is checked for "Allow.......task sequence..".


Third, you will need to edit the User Experience within the Deployment Type tab of the Application Properties. You must have it set to "Whether or not a user is logged on" or "Only when no user is logged on". See the image for references.


Forth, you will need to create a collection (if not done already) and edit the Collection Variables within the properties of said collection. This is where the NAME of the variable must start with APP and followed by the number of when you want the application to install. So the Name will be APP01 or whatever 2 digit number to assign after APP based on preferred install order. Keep in mind that if you have any applications that require and will force a restart it will install that application and stop/break the task sequence after it. So try to keep only one in the list and make it the last one. This is the part that requires planning. The value MUST BE SET to the Application Name used when creating the Application (see reference below and the previous step mentioning this)


Finally don't forget to actually Deploy the Application to the newly or existing Collection as well as Deploying the Task Sequence.

Remember to always be proud of your geekiness and to "Geek Out With Your Tech Out"!

Peace out My Ninjas!

1 comments:

  1. Thank you so much!

    One of my apps was set to the deployment type name not the name of the app itself!

    :)

    ReplyDelete

Sponsors

V2 Cigs - electronic cigarettes - the thickest vapor!