Who deleted that deployment?

This blog post will be a short follow-up post on my previous blog post about Who created that deployment?. This post will answer the, in most cases, less important question about who deleted that deployment. Just like the information about the creation of a deployment, the information about the deletion of a deployment is also stored in the database. Use the same buildin report named All messages for a specific message ID to track the deleted deployment. Again, the only missing detail is that it’s not clear which Message ID belongs to which action. The following table provides an overview with exactly that information. It will show per object type which Message ID belongs to the deletion of a(n) deployment/ assignment. Object Status Message Message …

Read more

Who created that deployment?

This blog post will be a short post about a question I often get when there was an accidental deployment and nobody dares to admit that he (or she) was responsible. The nice thing, at least for the colleagues and the manager, is that all this information is stored in the database and that it’s actually pretty simple to check. There is a buildin report named All messages for a specific message ID that can be used to track the created deployment. The only missing detail is that it’s not clear which Message ID belongs to which action. The following table provides an overview with exactly that information. It will show per object type which Message ID belongs to the creation of a(n) deployment/ assignment. …

Read more

Get the folder location of an object in ConfigMgr 2012 via PowerShell

This blog post will be about a question that I recently got with a big enterprise customer. They use many folders throughout the console to store their different objects and are able to find these objects by using the search option in the console. One thing the console doesn’t show, with the search results, is the folder location of the specific object. That folder location would make life a lot easier when adding packages to a task sequence. Luckily, I already created once a small PowerShell function that does exactly that. It outputs the folder location of an object. This blog post will explain that PowerShell function and shows the required input per object type. >> The complete function is available via download here on …

Read more

Divide a collection into multiple smaller collections in ConfigMgr 2012 via PowerShell

This blog post will be about a question that I recently read on a forum and also already got a couple of times with different customers. That question is if it’s possible to simply create multiple smaller collections of one specific collection. This can be useful when a specific deployment has to be deployed in smaller groups then normally. Also, there are already a couple solution available in the community, like the SCCM Collection Splitter by Mickael Ponsot and the Planning an upgrade of an application  by Jörgen Nilsson, but as always, not every solution fits every customer. In my case(s) these solution didn’t fit, as it shouldn’t have to much options and it shouldn’t rely on static properties. That’s why I created a simple …

Read more

Publish Cumulative Updates of ConfigMgr via System Center Updates Publisher

There are a multiple methods to deploy the Cumulative Updates (CU) of ConfigMgr, to all the different components (console, client and server). The most common used method is the old-school packages that are created during the upgrade of a site server. This blog post will be about another less often, but definitely not less effective, method of deploying a CU is via System Center Updates Publisher (SCUP). In this post I will go through the steps required to deliver a CU, via SCUP, to ConfigMgr as a software update. Prerequisites Before I will go through the steps, it’s important to know that this post does not describe the installation of SCUP itself. In case SCUP is not yet installed, the following posts provide some good …

Read more

Create a WQL query setting for a Configuration Item in ConfigMgr 2012 via PowerShell

Before I start with this blog post I have to give some (read: a lot) of credits to Dexter. He helped me a lot with understanding the SDMPackageXML of a Configuration Item (CI) and also blogged about that experience. Also, this blog post won’t go into the details he already mentioned about modifying the XML and writing it to a CI. Now let’s really start with this blog post. This blog post will be about creating a WQL query setting for a CI and more specifically the road to creating a WQL query setting for a CI. Step 1: Locate the method to create the WqlQuerySetting The first step is to locate the method that can be used to create the WqlQuerySetting. During the installation …

Read more

How the settings in ConfigMgr translate to the command line in USMT

The last couple of days I’ve seen and read a few situations in which it was clear that it’s not always that obvious what the USMT command line will be based on the settings in ConfigMgr. This blog post will be about the different settings in a task sequence for capturing and restoring the user state and how they translate to the command line for USMT. Capture User State Let’s start with two basic capture settings and continue from there. These basic settings are Capture all user profiles by using standard options and Copy by using file system access. These settings combine to a command line like this C:\_SMSTaskSequence\Packages\PCP00001\amd64\scanstate.exe C:\_SMSTaskSequence\UserState /o /localonly /efs:copyraw /l:C:\WINDOWS\CCM\Logs\SMSTSLog\scanstate.log /progress:C:\WINDOWS\CCM\Logs\SMSTSLog\scanstateprogress.log /i:C:\_SMSTaskSequence\Packages\PCP00001\amd64\migdocs.xml /i:C:\_SMSTaskSequence\Packages\PCP00001\amd64\migapp.xml. Based on that command line we can see …

Read more

Verify SQL version via Compliance Settings in ConfigMgr 2012

This time I will do a short post about verifying the SQL version(s) via Compliance Settings. I think everybody knows the inventory post for SQL version by Sherry Kissinger, but what if you simply want to know if all your devices are compliant with the company standard (of for example SQL Server 2012 SP1 CU5). Well, this blog post will provide a simple answer to that question, by providing a SQL query –type Configuration Item. Configuration Item The configuration is actually quite simple, as I can simply take advantage of the SELECT @@VERSION query statement. One small thing to take into account, is the fact that the configuration item requires a column to be specified and this queries doesn’t use/ create a named column. The …

Read more

New tool: Show memberships of software updates to deployment packages and software update groups

Actually since the first release of ConfigMgr 2012, I’ve seen and got question about software updates. Besides, of course, questions about setting it up, these questions are mainly focused about the memberships of software updates. Simple questions like “In which software update group is this software update?” or “In which deployment packages are the updates of this software update group?” are not that simple to answer. This is all going to change, starting today! I created this simple tool that can perform searches based on a specific software update, a software update group, or a deployment package. Simply specify the Name (in case the of a software update the article id), select the Type (software update, software update group, or deployment package) and click Execute. …

Read more

Install computer-targeted application during OS deployment via PowerShell and ConfigMgr 2012

A few months ago I did a blog post about installing user-targeted applications during operating system deployments via PowerShell and ConfigMgr. This time I will do a similar post, on request, about installing computer-targeted applications during operating system deployments. Yes, I know it might be worth a discussing about why someone is still using computer-targeted deployments, but that will not be a part of this blog post. Script A big part of this script, and by that also this post, might look familiar, as it’s based on the previous script for user-targeted applications. Just like with that previous script I will go through all the key steps of the script. The following five steps make sure that I only get the applications that are required …

Read more