Configuration Manager – How to Change the Approve/Deny Status of an Application Catalog Request

sccm logo 600x400
System Center Logo

Estimated reading time: 3 minutes

If you are a Configuration Manager administrator, the chances are that you are using the Application Catalog to allow users to install their own software.
A great feature of this is that you can put in specialist or licensed software and add a “Request” button. This means that your end users will only get the software if you approve it.

To begin with we found a number of bits missing for this though, things like email notification – how are you supposed to know when a user requests some software – how is the user supposed to know when you have approved it?

Those issues are easily solved using Powershell and Orchestrator Runbooks but that is for another time….

In this post, we are going to show you how to do something very dangerous indeed – if you use this method and screw up your Configuration Manager database – DO NOT BLAME US!

Scenario

We came across an issue where a helpdesk technician had approved and denied software incorrectly. By default in the Configuration Manager Console, once you have approved or denied a request – that’s it, you cannot change your mind by simply right clicking and amending your selection. So, how to do work around it? The answer is very simple – you manually amend your SQL database.

Now, as stated above, this is extremely stupid and we are not recommending that you do it, but if you are desperate and an absolute expert in SQL and are confident in your own ability – then why not!

Instructions

First things first. In your CM database there is a table called:

UserApplicationRequests

Here there is all the information about your user’s requests including a column called:

CurrentState

There are four numbers that make up the current state of a user application request – they are:

  • 1 – Requested
  • 2 – Cancelled
  • 3 – Denied
  • 4 – Approved

So, you can now run a query on your CM database like this to show you all Denied user approval requests:

SELECT * FROM UserApplicationRequests WHERE CurrentState = 3
ORDER BY LastChanged

In our example, we are going to use an extreme – we want to change ALL of our Denied CurrentStates back to Requested – then we can go into the Configuration Manager Console and manually approve or deny them.

To this, you can run the following query on your CM database:

UPDATE UserApplicationRequests
SET CurrentState= 1
WHERE CurrentState = 3

What this query does is updates the UserApplicationRequests table to make CurrentState = 1 where the CurrentState is = 3.

If you now go into your Configuration Manager Console, you should see that all your Denied requests are now back into a Requested state.

More Queries

Our full range of SQL and WQL Collection queries is available here.

Feedback

If you have any questions or feedback about this post, or if you would like us to create any queries for you, please go ahead and leave us a message below in the comments section and we will get back to you as quick as we can.

Share this content:

Click to rate this post!
[Total: 1 Average: 5]
Avatar for Andrew Armstrong

About Andrew Armstrong

Founder of TechyGeeksHome and Head Editor for over 15 years! IT expert in multiple areas for over 26 years. Sharing experience and knowledge whenever possible! Making IT Happen.

View all posts by Andrew Armstrong

Leave a Reply

Your email address will not be published. Required fields are marked *