Your browser (Internet Explorer 6) is out of date. It has known security flaws and may not display all features of this and other websites. Learn how to update your browser.

System Center 2012 Configuration Manager – How to Identify How Many Incremental Collections You Have

A little known fact with ConfigMgr is that there is a "soft" limit to the number of incremental collections you can have. It’s actually referenced here in TechNet. The factors that affect where this actual limit is is dependent upon your total number of collections, the frequency of new resources being added, the number of clients in your hierarchy, and the complexity of the collection membership rules.

If you surpass the approx. 200 limit for your incremental collections, then you will experience some interesting behavior with your collections. Some will update, some won’t, it appears to be random.  I’ve seen this at a few clients that have had over 200 collections set to incrementally update. 

I’ve had a query I’ve been using for awhile at clients, however Steve Thompson demo’d a much prettier query at MMS. His query is shown below:

   1: -- Collection eval - incremental updates


   3: SELECT CollectionID, Name as [Collection Name],

   4:             CASE RefreshType

   5:                         WHEN 1 THEN 'No Scheduled Update'

   6:                         WHEN 2 THEN 'Full Scheduled Update'

   7:                         WHEN 4 THEN 'Incremental Update (only)'

   8:                         WHEN 6 THEN 'Incremental and Full Update Scheduled'

   9:                         ELSE 'Unknown'

  10:             END AS RefreshType,

  11:             Comment, LastChangeTime, EvaluationStartTime

  12: FROM  dbo.v_Collection

  13: ORDER BY RefreshType, [Collection Name]


Running this query in SQL Management Studio will produce a list of the collections you have and how they are configured. It’s important to take note of of how many collections you have that are configured for incremental.



In addition here is another query that gives you a rollup view of your collection counts.

   1: -- WITH ROLLUP

   2: SELECT 

   3:             CASE RefreshType

   4:                         WHEN 1 THEN 'No Scheduled Update'

   5:                         WHEN 2 THEN 'Full Scheduled Update'

   6:                         WHEN 4 THEN 'Incremental Update (only)'

   7:                         WHEN 6 THEN 'Incremental and Full Update Scheduled'

   8:                         ELSE 'Total'

   9:             END AS RefreshType,

  10:             COUNT(*) AS Total

  11: FROM  dbo.v_Collection

  12: GROUP BY refreshtype, refreshtype WITH ROLLUP



ConfigMgr 2012 – HCIDKIDT – Manage Affinity Requests Wizard

User Device Affinity (UDA) is a way of associating users with one or more devices in ConfigMgr 2012. This can be defined by you as the administrator, by allowing users to define it via the Application Catalog, or by using threshold settings. 

A hidden feature is that even if you don’t have the UDA threshold setting enabled (User and Device Affinity section in Client Settings), it is still collecting the data.  You can view and manage this data via the Manage Affinity Requests wizard. 


This wizard is only available when you are viewing the Device Collections. If you are viewing any specific collection, it will not be available to you.



Opening the Configuration Manager Control Panel Icon – Windows 8 Frustrations Solved

I’m a huge shortcut guy, I know quite a few of them…  Windows 8 is an interesting OS. The new search menu is less than intuitive and although you can open the control panel from it, and then select the Configuration Manager icon. You could also search for "Configuration Manager", as long as you remember to change the search to settings 🙂

A much simpler an faster way is to simple open the Configuration Manager icon directly. This can be accomplished by running "control smscfgrc".  Huge thanks to one of my recent students for finding this!



Running Mac OS X on Windows VMware Workstation

DISCLAIMER: This post doesn’t express any warranties. It is provided as-is and you are proceeding at your own risk taking into consideration all license and legal ramifications. This post is meant to show you what is possible to do, not whether or not it is legal or allowed to be done.

Sometimes you just need the ability to test an Operating System.  For these purposes this blog post will show you how to run Mac OS X 10.8 in VMware Workstation for the purpose of testing Mac management with System Center 2012 Configuration Manager.  As a consultant,, I travel constantly, I can’t exactly carry around a Mac mini in my laptop bag, well I probably could but I have no desire to.  I already ditched my heavy laptop for an Ultrabook, rather than my previous Lenovo W520 that had a power supply I could crush most small rodents with.

There are numerous posts with various bits of information, but didn’t see one comprehensive guide. I’ve also seen pre-created VM’s that you can download and import into VMware Workstation, but I prefer to have my own clean VM that I built and don’t need to worry about where it came from. Call me crazy..

Files you will need:

Step 1: Install VMware Workstation on your machine.

Note that you cannot have Hyper-V and VMware Workstation installed on the same box 🙂

Step 2: Run VMware Unlocker 1.1.0.

1) Extract out VMware Unlocker.

2) Run the install.bat that is in the \windows folder. This will configure VMware Workstation to support Mac OS X.

3) You should now see Apple Mac OS X listed in the New Virtual Machine Wizard.


4) Create a new Virtual Machine for Mac OS X 10.8, Mac OS X will need a minimum of 2GB of RAM.

Step 3: Use 7Zip or a similar program to extract out the InstallESD.dmg from the Mac OS X 10.8 installation DVD.

Step 4: Using the dmg2img program, create a ISO of the Mac OS X install.

Example command line:

dmg2im -I "path\installesd.dmg" -o "path\macosxsetup.iso"


MacOSXSetup.iso successfully created.


Step 5: Extract out the to get the darwin.iso from under \payload.


Step 6: Mount the newly created MacOSXSetup.iso with the VMware Workstation VM.


Step 7: Start the VM and launch the Mac OS X Setup from the ISO we created.


1) Select the Disk Utility so we can format the drive before installing the OS


2) Select the disk and then select Erase, the format should be Mac OS Extended Journaled.


3) Select Erase on the prompt.


4) Close the Disk Utility and Select Reinstall OS X.


5) Select Continue.


6) Select Agree.


7) Select the disk and then Install.


8) Installation will start.


All installed!


9) You’ll have to continue through some additional setup and personalization and create your account.


Finally done and we can see our desktop!


Step 8: Install VMware tools.

1) Mount the darwin.iso to the VM, a restart might be required to get it to properly show up in the VM.

2) In order to see the icons on the desktop, go into Finder Preferences, and check the Hard Disks, External Disks, CD/DVD, and Connected Servers boxes.


3) You should now be able to see the VMWare tools DVD.


4) Double-click the VMware Tools DVD.  Double-Click Install VMware Tools.


5) Click Continue.


6) Click Continue.

7) Click Install.

8) Enter your password to install the software.


9) Select Continue Installation.

10) Restart upon completion.


After the reboot, you should see functional VMware tools. The window should resize etc. per standard VMware tools.

Step 9: Take a Snapshot!

It’s a good idea to have a clean slate to revert to if needed.

Step 10: Enjoy!


Windows 8 DeDuplication = Awesome

Goes without saying that this is most likely unsupported, so proceed at your own risk 🙂

I do really love my Asus Zenbook, it’s the fastest lightest laptop I’ve ever had. It powers on nearly instantly, especially with Windows 8, the battery life is phenomenal. However even the maxed out version only comes with 4GB of RAM and a 256GB SSD. So sometimes I just need more space. So I decided to see what the data deduplication would get me. A large number of the files I keep on my 2nd partition are ISO files and lab files for various things.  Plus usually have a few Hyper-V VM’s as well.

I have read various forum posts, but didn’t see any comprehensive guides on how to put everything together.  Until I was nearly finished with my write-up and discovered fellow MVP The Wei King’s post, doh! Wish I had found that sooner, regardless, his post has an excellent walkthrough and I’ve provided my own walkthrough with some additional details below.

My disk prior to dedup:


My Hyper-V folder alone (on D:) was 28GB prior to the dedup.

My disk after dedup:


Running a Get-dedupvolume shows the results of dedup on my D:, pretty awesome!


Configuring DeDup

You will need the following files before you can proceed. I’ll leave it up to you to track down the files or grab them from a Server 2012 installation.


From within the directory the files are located, from an elevated PowerShell prompt, run the following 2 commands.

dism /online /add-package / / / / / /

dism /online /enable-feature /featurename:Dedup-Core /all


Once you run those commands, when you view Programs and Features, you will now see the File Server Role, and Data Deduplication enabled and listed.


Analyzing Drive Space

Once the feature has been added, you can use ddpeval.exe to look at a folder, or entire drive to see how much savings you would get with the feature.

For example, I looked at my Hyper-V folder to see what it would save me. My Hyper-V folder is about 28GB right now, not much in there, just a couple of VM’s, but with dedup enabled, it would only take up 14.5GB, saving nearly 50%!


Analyzing my entire D: results in the follow results.


Commands to configure DeDuplication

Additional details can be found here on TechNet

The default policy settings for Server 2012 are as follows:

  • Process files that have a minimum age of five days according to the Last Modified Time. If Last Access Time is enabled on the server (this is not the default setting), deduplication will use the Last Access Time.
  • Process files in background mode every hour. In background mode, the system uses up to 25% of the system memory during optimization jobs, whereas manual Throughput jobs use up to 50% of the system memory.
  • Do not exclude any directories or file types. The default setting is to process the entire volume.
  • Run a garbage collection job every Saturday at 1:45 AM. Garbage collection reclaims space on a volume by deleting chunks from the chunk store that are no longer referenced. Garbage collection compacts a container only if approximately 50 MB of chunks exist that have no references. Every fourth run of garbage collection incorporates the -full parameter, which instructs the job to reclaim all available space and maximize all container compaction.
  • Run a data scrubbing job every Saturday at 2:45 AM. Scrubbing jobs verify data integrity and automatically attempt to repair corruptions that are found.

The default settings will configure 3 schedules, Optimization runs every hour, Garbage Collection and Scrubbing are set for once a week.  These can be viewed from PowerShell using “get-dedupschedule”.

The following commands are all done from within a Windows PowerShell prompt.

Enable on a volume:

Enable-DedupVolume D:

Configure number of days before dedup is done:

Set-Dedupvolume D: -minimumfileagedays 30

Return a list of volumes that have been enabled for dedup:


To Start an Optimization Job before the default schedule:

Start-DedupJob – Volume D: -Type Optimization

To view the progress of a optimization job:


Primarily to get started you need to configure the job for a volume, then start the optimization, or wait for the scheduled job, and then it can be viewed using the get-dedupjob command.

Additional Considerations

  • The Dedup process can process data at roughly 2TB per 24-hour period, about 100 GB per hour. However CPU, Disk, I/O can affect that obviously.
  • Running out of free space can be a bad thing when you are using dedup.  Keep an eye on your free space at all times.

Configuration Manager 2012 – Role Based Administration – Software Update Manager Unable to Move Updates

If you grant a user/group the Software Update Manager Security Role in ConfigMgr 2012, you will find that they will be unable to move updates.  So using something like I blogged previously on excluding updates, the default SUM role will not be able to do this.

In order to allow them to move Updates, you need to grant them the Modify Folder and Move Object permissions under Configuration Item.



ConfigMgr 2012 – HCIDKIDT – Limited Collections

Another post in my series on "Holy Crap I didn’t Know It Did That" for System Center 2012 Configuration Manager.  This one centers around collections and their updates. 

Something I noticed while watching colleval.log today was that by updating All Systems, every collection limited to All Systems also immediately updated. So no longer do we need to update All Systems, then update the collection we might be after, instead it happens automatically. I confirmed with a few other MVP’s that is the behavior for 2012, although I’m sure not necessarily widely known.  This will apply to all collections that are limited, not just the All Systems limited collections. This could be interesting in very large environments with hundreds of collections.

Hope you find this information useful.


ConfigMgr 2012 – HCIDKIDT – Additional Column Views

This is going to be a series of posts I’m going to call the "Holy Crap I didn’t Know It Did That" series, HCIDKIDT for short.  There are so many things and hidden features in 2012 that it warrants several posts. I’ve been working with the product for a long time and there are still things I find, or a client will randomly show me that warrants the HCIDKIDT stamp.

Today’s HCIDKIDT is adding additional views to the column.  A good example of this is when viewing collection members.  For example, we can add the EP Deployment State and EP Enabled to get a quick view into the Endpoint Protection status of our clients in the collection.



Add this data, allows us to quickly see the status of our clients in a collection.


We could also add the Hardware Scan to see when the last time Hardware Inventory was ran.



ConfigMgr 2012 – HCIDKIDT- Group By

This is going to be my first post in a series I’m going to call the "Holy Crap I didn’t Know It Did That" series, HCIDKIDT for short.  There are so many things and hidden features in 2012 that it warrants several posts. I’ve been working with the product for a long time and there are still things I find, or a client will randomly show me that warrants the HCIDKIDT stamp. 

Today’s HCIDKIDT is the "Group By" feature.  A great place for this is under Deployments.  One example is the Feature Type. This can be found by right-clicking on the main title bar.



By selecting this feature, we can group the deployment types we are viewing. This makes it much easier to find what you are looking for.  Here is an example of this view.