Latest Posts

BrancheCache for OSD

When preparing for our session a TechEd 2014 in Barcelona on Community Tools, Jörgen and I found this nice little tool that adds BranchCache support in WinPE, which means that during OS deployment the client can download the content from a client on the local network instead of pulling it from a DP, this is great for small branch offices for instance without a Distribution Point. It can be found here: At TechEd 2014 Europe it was also announced that BranchCache support will be added in WinPE in ConfigMgr vNext as well, so this is a technology that is coming.

We created an OSD Task sequence, updated the boot image, enabled BranchCache and added the tools and steps from the toolkit to my Task Sequence. To prestage the data on another client in the network we created a check in the start of the Task Sequence to see if the “Prestage” variable was set to TRUE, if so the Task Sequence will not install anything on the client but it will download all the content and add it to the BranchCache on the client.


Then we deployed the task sequence with the option “download all content locally before starting the Task Sequence” remember to make sure that the content will fit in the CCMCache.

After that we deployed a client and it used the BranchCache from the client on the same network, really cool! We like free stuff.


The reporting is awesome as well be sure to check it out!


Here is a short video from 2Pint Software as well:


A new MMS is born

Do you miss Microsoft Management Summit ? Don’t worry a new one is born.

The Minnesota System Center User Group decided to create a new MMS the Midwest Management Summit. Space is limited and I can guarantee you that the sessions are of the highest quality with lots of community experience. So want to learn more about System Center  make your reservation as soon as possible.


Config Mgr AgentEdition0

While exploring new devices working with UDM I couldn’t find any table for the Agent Editions so I have posted my finding here. Feel free to reach out to help get the table complete.

AgentEdition0 Agent
0 Windows
1 Windows 8.1 OMADM
2 Windows Mobile 6
4 Windows Phone
5 OS X
7 Embedded
8 iPhone
9 Ipad
11 Android
13 Linux/Unix

Guide on how to Configure SQL Server Index Optimization with Ola Hallengrens Maintenance Solution

Jörgen Nilsson and I presented this on TechEd North America and we thougt it would be a good idea to share this information in a more written form.

The purpose of this guide is to get a quick start of how to run SQL Server Index Optimization for non-database administrators.

To maintain performance in a Database it is most often recommended to maintain the indexes in a database. All applications has different support statements and best practices so before you implement this please review the specific application. You also need to consider that doing this will generate lots of transactional logs so keep an eye out for disk space and make sure you schedule backups after the tasks has run.

If you don’t maintain your indexes for System Center Configuration Manager your system will eventually be slow and suffer from performance issues like slow updates of collections different status messages and so on. So it’s vital to maintain your indexes. I have written a step by step to implementing a great community script from Ola Hallengren to do this. To get you started.

I highly recommend that you read the FAQ before you proceed.

First off you can run the IndexCheck script against the database you suspect has a high grade of defragmentation to display the actual fragmentation performance busters are most likely results with high page counts and high fragmentation.

1. Start SQL Management Studio and Login

2. Open the IndexCheck script. I usually add the extra statements provided below to the script from Ola

To Point out the Database to run against.


To sort the output in a more structured way by defragmentation I add

Order by AvgFragmentationInPercent desc



3. Execute the script and it will show you an output of the fragmentation level of the databases, as you see in the AvgFragmentationPercentage it will display the level.


4. OK, so now we see that we have defragmentation on our indexes, so SQL wise to maintain the Indexes there are three methods of doing that. And the solution will automatically choose depending on fragmentation level and if you have SQL Server Enterprise the “Rebuild Online” option will be available.

  • Reorganize (Kind of a defragmentation)
  • Rebuild (New indexes are created and rebuilt, NOTE: Its only available in SQL Server Enterprise)
  • Offline Rebuild (Same as B but it’s done offline)

5. Before we install the Maintenance solution we want to create a database in SQL we can use for logging the activities and saving our tasks in so we don’t put this information in any of the other databases.

6. In SQL Management Studio create a new Database.


7. Give it a Name and set the Size you want the database to have


8. Under Options change the Recovery Model to be Simple and press OK


9. Now when we have created a database to use for the solution we need to start the SQL Server Agent. Right click and start the Server Agent


10. Once it’s started we can open the MaintenanceSolution.sql and do the following edits.

  • Change Master to the Database name you selected earlier in my case SQL Maintenance
  • For the other values I suggest that you change the Backup Path to where you want to store the Backup Files the others I usually use the defaults for.


11. Execute the Script and verify that it has run successfully and that the jobs were created under SQL Server Agent



12. Now onto the IndexOptimize job which we need to configure.


  • By default the job runs on all your user databases on the Server so if you want to only run it on specified databases you need to configure that.
  • And you also need to set up this on a schedule, and my recommendation is to set it up on a weekly schedule at a time where you don’t have heavy load on the server.

NOTE: The first time you run the task I highly suggest that you have lots of time, we have seen that this task can take from minutes to several 10+ hours if the indexes are really defragmented and your SQL box is really performing well. So plan for that initial execution, once you have this running on a regular basis it will not take that long every time it runs.

13. To change the databases that the IndexOptimize task is run on right click on the job and select properties. Once in the properties go to the Steps section and select edit on the Step


14. To change it change the USER_DATABASES value to the preferred databases you want to run this against.


So if I’d like the job to run against only CM_S01 and SUSDB I would change the value to CM_S01, SUSDB. There are more options to choose from if you’d like to run against all databases and maybe just exclude on there are exclude options as well very well explained at the solution webpage.


15. So to setup a schedule navigate to the schedule section and click New.


16. Once in the schedule setup the schedule you want and plan so that it doesn’t interfere with any of your other maintenance tasks like backup. Simply give it a name and configure desired schedule.


17. As we enabled the solution to Log to a Table we can explore what actions it has taken by simply reviewing the CommandLog Table. To show what has been going on in my environment run the command below. Where we can track how long Index optimization takes and if we have certain indexes what we frequently hit and so forth.

USE SQLMaintenance
select * from dbo.CommandLog


18. We are also getting log files on the Disk Drives and they are stored under the default SQL Server Installation directory under Log.

19. To maintain the solution itself there are some tasks to do cleanup so we don’t fill the CommandLog table with years of data and the disks with log files for years. So to cleanup all these activities I highly suggest that you configure these additional jobs so that you cleanup after the solution. You may want to adjust the steps in the Jobs to have it keep the activities for the period of time you want to have. By default it keeps the data for 30 days. As a recommendation set them to run on a weekly basis as well


20. So now we have scheduled and configured Index Optimization, is very important that you keep track of disk space and that you schedule backups after the tasks are run as they will generate transaction logs that may fill up your disks.

A Special thanks to fellow MVP Steve Thompson for inspiring me to use the separate Database when using the Maintenance Solution. Also Ola Hallengren for making such an awesome solution and sharing it. Powered by Community

Windows XP End of Support Today

Today Windows XP has gone end of Support and if you haven’t replaced your operating System you should really consider it because Windows XP will from now on not get any security updates and you are exposing yourself and others for security threats.

More about it here. 


Microsoft has provided support for Windows XP for the past 12 years. But now the time has come for us, along with our hardware and software partners, to invest our resources toward supporting more recent technologies so that we can continue to deliver great new experiences.

As a result, after April 8, 2014, technical assistance for Windows XP will no longer be available, including automatic updates that help protect your PC. Microsoft will also stop providing Microsoft Security Essentials for download on Windows XP on this date. (If you already have Microsoft Security Essentials installed, you will continue to receive antimalware signature updates for a limited time, but this does not mean that your PC will be secure because Microsoft will no longer be providing security updates to help protect your PC.)

If you continue to use Windows XP after support ends, your computer will still work but it might become more vulnerable to security risks and viruses. Also, as more software and hardware manufacturers continue to optimize for more recent versions of Windows, you can expect to encounter greater numbers of apps and devices that do not work with Windows XP.

What rights are needed for Domain Join

To set the minimum rights needed for an account to join computers you need to set the following on the OUs you want to join in computers to.

Scope “This object and all child objects”

  • Create Computer Objects
  • Delete Computer Objects

Scope “Computer Objects”

  • Read All Properties
  • Write All Properties
  • Read Permissions
  • Modify Permissions
  • Change Password
  • Reset Password
  • Validated write to DNS host name
  • Validated write to service principle name

What Configuration Manager CU to install

As System Center Configuration Manager 2012 has been in the game for a while id thought it be worthwhile mentioning what the current levels 2014-01-29 are. *Updated 2014-04-06*

System Configuration Manager 2012 RTM

System Configuration Manager 2012 SP1

System Configuration Manager 2012 R2

Worth mentioning is the upgrade from SP1 to R2, at first there was an issue that the changes introduced in CU3 for SP1 had changes for Pull Distribution Points that where not included in the R2 release. Microsoft corrected this by updating its prerequisite files. So if you do like many others downloads them once and keep them for every install you do you should really download the prerequisite files again and keep doing that on a regular basis or for every install you do. Read more about the SP1 CU3 to R2 issue here.