Wednesday, 4 December 2013

Cool New Features in ConfigMgr 2012 R2 (SCCM 2012 R2)

Back to ConfigMgr main menu

ConfigMgr 2012 R2 RTM was released in October 2013 and adds many exciting new features to the product.

In this blog I will highlight some of these features - features that I think will be really useful to Systems Administrators. So, in no specific order, let's go.

ConfigMgr Setup - Database & Log files.

When you run Setup to install a new primary site or central administration site, you can select non-default locations for the site database files. The option to specify non-default file locations is not available when you specify a SQL Server cluster.


You can now reassign Configuration Manager clients, including managed mobile devices, to another primary site in the hierarchy. Clients can be reassigned individually or can be multi-selected and reassigned in bulk to a new site.

This is particularly useful when a client moves between sites. This was an issue in previous versions.

There is now an additional option in the Client Push wizard. When you choose to "Always reinstall the client software" you can now also choose to "Uninstall the existing Configuration Manager client"

Choose "Resultant Client Settings" by right-clicking on a client.

This is very useful if a client is a member of quite a few collections and different client settings have been applied to each collection. You can see at a glance which "resultant client settings" are now applied to that client.

Cancel a Distribution

Consider the scenario. You've just distributed a 15GB image to all your DPs and have now realized that it was the wrong image. Now, in R2, you can just cancel the distribution. This is my favourite new feature.

Company Resource Access

See the new folder under Compliance Settings. In ConfigMgr 2012 R2 you now have the ability to deploy Certificate, VPN and WiFi profiles to a collection of devices.

The screenshot shows the VPN types that can be deployed.

Mobile Device Management

I will soon write a blog describing a full MDM implementation using ConfigMgr 2012 R2 and Intune - with management of Windows Phone 8, iOS and Android devices.

This chart shows the MDM features now available with R2.

Monday, 2 December 2013

Advanced Powershell for ConfigMgr 2012 (SCCM 2012)

Back to ConfigMgr main menu

Back to ConfigMgr & PowerShell menu

This will be the last post in my ConfigMgr 2012 & PoweShell series. The previous posts discussed the following topics:
  • PowerShell Basics
  • Connecting to ConfigMgr site via PowerShell
  • Basic PowerShell Cmdlets for ConfigMgr 2012.

In this section I will provide links to the best online resources I have found for advanced PowerShell for ConfigMgr 2012.

Getting Started with PowerShell: The Pipeline

This blog is by Ed Wilson (The Scripting Guy) and is an extract from his book "Windows PowerShell 3.0 First Steps".

It describes the way that the Windows PowerShell pipeline takes the output from one command, and sends it as input to another command. This is a very powerful scripting feature as it removes the necessity to store the results of the first command as a variable.

eg Get-NetAdapter | Enable-NetAdapter

Configuration Manager PowerShell SDK

This blog by Kaido Järvemets shares PowerShell scripts in the following areas

See sample scripts

Microsoft Configuration Manager 2012 and PowerShell

This particular blog by David O' Brien describes how he wrote a PowerShell script to "Create Configuration Manager Device Collection".

Use the navigation arrows to find more scripts

Automate Microsoft System Center 2012 Configuration Manager with PowerShell

This is where David O' Brien has published his PowerShell scripts to Codeplex.

Click on the Source Code tab

ConfigMgr 2012 - PowerShell Right Click Tools

Download the PowerShell Console extensions for ConfigMgr 2012.

Monday, 25 November 2013

Config Mgr (SCCM) 2012 R2 Hotfix installation

Back to ConfigMgr main menu

The release of ConfigMgr 2012 R2 caused some issues with Operating System Deployment when a PXE enabled Distribution Point was co-located with Site Servers.

1. WDS crashing
2. Very slow download speeds for OSD files

The official descriptions are as follows:

Issue 1
After you enable the PXE Service Point role on an instance of a specific distribution point, or you select the Deploy this boot image from the PXE-enabled distribution point property of a boot image, the Windows Deployment Service (WDS) stops running.
Note: This problem affects only distribution points that are installed on site servers.

Issue 2
When operating system image files are downloaded to Configuration Manager 2012 R2 clients, you may find that the download takes longer than it did in previous versions of Configuration Manager 2012 clients. You may see this behavior when the target client is running Windows PE or a full Windows operating system.

These issues were resolved with Hotfix KB2905002. The Hotfix can be downloaded here

You can also find installation information on this page.

Download and extract the Hotfix files.

Launch the executable.

See the "Welcome Screen". It gives information on how KB2905002 should be applied. Click Next.

Accept the License Terms and click Next.

The prerequisite check begins. See the Warning.

A pending restart has been detected. Close and restart the server.

After the restart the prerequisite check passes.

Choose to install the update for the console.

Choose all the options.

Enter your preferred names and source for the Server package.

Enter your preferred names and source for the Console package.

Enter your preferred names and source for the client package.

Review the summary and click to install.

Update installation has completed successfully. Review the log file and click Next.

Click Finish to close the wizard.

Now deploy the server, console and client packages. Create x86 and x64 collections to deploy the correct client package.

Don't forget you HAVE to update all boot images on your Distribution Points.

Friday, 22 November 2013

Basic PowerShell Cmdlets for ConfigMgr 2012 (SCCM 2012)

Back to ConfigMgr main menu

Back to ConfigMgr & PowerShell menu

Native PowerShell support for ConfigMgr 2012 was introduced with SP1. Microsoft have published a Configuration Manager Cmdlet Reference in the Technet Library. You can find it here

I'd like to highlight some of the more commonly used cmdlets (ones that I find very useful and could use daily). Click on the cmdlet to link to the Technet library page explaining its use and syntax.


Assigns boundaries to a boundary group

Creates a distribution point

Creates a new boundary

Creates a new boundary group

Creates a secondary site in Configuration Manager


Adds a direct membership rule to one or more Configuration Manager device collection

Approves Configuration Manager device clients

Adds a query membership rule to one or more Configuration Manager device collections.

Installs a Configuration Manager client

Creates a collection for devices and adds the collection to the Configuration Manager hierarchy

Software Distribution

Adds a deployment type for an application

Approves a request to allow the installation of an application

Gets a summary of Configuration Manager deployments

Creates an application in Configuration Manager

Operating System Deployment

Adds a device driver to a driver package

Clears the status of the most recent PXE deployment in Configuration Manager

Creates a driver package

Creates an operating system image

Creates a task sequence

Removes a driver from a driver package

Adds a driver to a boot image or removes a driver from a boot image

Software Updates

Adds a software update to a software update group in Configuration Manager

Creates a software update group

Wednesday, 20 November 2013

Connecting to ConfigMgr site via PowerShell

Back to ConfigMgr main menu

Back to ConfigMgr & PowerShell menu

There are two ways to connect to your Configuration Manager site via PowerShell.

Method 1: Using the Configuration Manager console

See the blue tab in the top left corner of the console. Click on the down arrow to reveal the menu. Select "Connect via Windows PowerShell".

It takes a few moments but PowerShell loads. See your Site Code in the command prompt.

Type the cmdlet get-cmsite for information about your site.

Method 2: Manually through PowerShell console

All Windows PowerShell cmdlets are coded and stored in a module.  The modules for Windows are available by default in your Windows PowerShell window and you can add more modules.  You add modules to your Windows PowerShell session by importing them using the Import-Module cmdlet.

This is the ConfigMgr module and can be found C:\Program Files (x86)\Microsoft Configuration Manager\AdminConsole\bin

Open PowerShell as Administrator (Note that we need the x86 version - the ConfigMgr Admin Console is a 32-bit application) and navigate to that path.

Enter the cmdlet import-module .\ConfigurationManager.psd1 and press enter

Now all the ConfigMgr cmdlets are available

Connect to your site by typing the command

CD P01: (where P01 is your Site Code)

Try get-cmsite again

PowerShell Basics

Back to ConfigMgr main menu

Back to ConfigMgr & PowerShell menu

Windows PowerShell is Microsoft's task automation and configuration management framework, consisting of a command line shell and associated scripting language built on .NET Framework. It is a valuable administration tool as it combines the speed of a command line with the flexibility of a scripting language.

PowerShell commands are referred to as Cmdlets. All cmdlets are made up of two parts: a verb and a noun.  They are separated by a hyphen ‘-‘ character.

Some cmdlets are integrated with Windows, and others are installed with programs like ConfigMgr.

Launch PowerShell by clicking on this icon on the taskbar. (Open PowerShell as Administrator by right clicking - you should do this as most of the cmdlets you will be using will require this)

You can also search by typing PowerShell.

(Note that we need the x86 version - the ConfigMgr Admin Console is a 32-bit application)

Note the PS telling you that you are running PowerShell

Some useful commands

get-command gives you a list of all available PowerShell commands

See the verbs that can be used in cmdlets. Each verb can be used with in conjunction with various nouns to create powerful cmdlets


get-command -verb Get

This will list all the Get cmdlets



Try this (use a service that you are allowed to stop - requires PowerShell to be run as administrator)

Get-Service -name WsusService
Stop-Service -name WsusService
Get-Service -name WsusService 

Start the service again

Start-Service -name WsusService

Verify that it is started

Get-Service -name WsusService

ConfigMgr 2012 & PowerShell

Back to main menu

Windows PowerShell is a very powerful way to automate your administrative tasks and native support was introduced with System Center 2012 Configuration Manager SP1.

ConfigMgr requires the 32-bit version of Windows PowerShell 3.0. It can be downloaded here:

Powershell is already included as part of Windows Server 2012 Operating System so no further installation or configuration is necessary.

Note: Microsoft have published a "Windows PowerShell User's Guide". It is available on TechNet

Please browse the following sections to learn about ConfigMgr and Powershell.

PowerShell Basics

Connecting to ConfigMgr site via PowerShell

Basic PowerShell Cmdlets for ConfigMgr 2012

Advanced PowerShell for ConfigMgr 2012

Friday, 1 November 2013

ConfigMgr 2012 / SCCM 2012 Anti-Virus exclusions

Back to Endpoint Protection menu

Back to main menu

When you install any Anti-Virus product on one of your ConfigMgr servers you must apply AV exclusions to avoid performance and functionality issues.

Also, if you are using SCEP you need to apply exclusions to your SCEP clients.  
These two blogs contain all the information you need.

Clifton Hughes

Peter Daalmans

Tuesday, 29 October 2013

ConfigMgr & SQL - some tips

Back to main menu

This blog shares some tips on how to implement SQL for ConfigMgr 2012. There are some important decisions to be made regarding SQL and they will provide the foundation for a successful ConfigMgr deployment which can easily be managed.

Local V Remote

I've seen this question asked in the Config Mgr Technet Forums many times - should I install local or remote SQL server?

Microsoft don't care. They will support both. Most ConfigMgr Admins will choose local. As long as you just use the database for Config Mgr, the license is free, so there is no additional cost.

Database Management & Security
If the ConfigMgr server is suitably resourced there can be a performance gain using a local SQL installation. However this is not the main reason to choose local SQL. The main reason is control over the database. In a larger organisation dedicated Database Administrators (DBAs) manage the SQL environment. They can have very rigid rules, in particular when considering database security.

When we are installing Config Mgr 2012 with a remote SQL server it is a required that the installation account and the Config Mgr computer account are both Local Administrator and SQL Sysadmin on the remote server. If you are deploying to a remote SQL Cluster this needs to be done on both nodes. These permissions need to be maintained after the installation. ConfigMgr needs to be able to manage and manipulate the database for successful operation. DBAs often have a problem with this.

There are, of course, some obvious performance benefits with local installations

  • not sharing with resource intensive applications
  • no network latency

Config Mgr 2012 requires a specific database collation - SQL_Latin1_General_CP1_CI_AS. ConfigMgr Setup will not continue if the collation is different, which can sometimes be the case for existing SQL installations.

Random SQL tips

  • The only SQL features needed for ConfigMgr are the Database Engine and SSRS (if server is to be your reporting server also)
  • As mentioned above database collation must be SQL_Latin1_General_CP1_CI_AS
  • High Availability - ConfigMgr does not support SQL 2012 AlwaysOn
  • It is not supported to manually edit the SCCM db
  • Don't forget to configure SQL Maintenance tasks - backups and re-indexing
  • Manually configure SQL memory usage - minimum 8GB 
  • ConfigMgr 2012 shares information between sites by SQL Replication
  • A secondary site must use a locally installed SQL instance on the Secondary Site server. The default is to install SQL express on the OS partition. Just like the other site hierarchy servers, the Secondary Site server will replicate to its assigned Primary Site server, by default, on port 4022.
  • WSUS requires its own DB. The DB can be co-located on an instance that hosts the CAS or PS server.
  • The MDT DB is a small DB with light requirements. It can be co-located with other ConfigMgr DB’s like the PS and the WSUS.
  • ConfigMgr 2012 does not use a dedicated Data Warehouse. It runs its reports from the standard ConfigMgr DB.

Disk Design

Best practice implementations of SQL follow this model for presentation of disks:

Operating System, Program Files
SQL Backup

Sizing Considerations (Disk Space, RAM etc)

There is an excellent guide here

Improved Performance Tips

Use RAID 10 configuration for high speed performance of Database and Logs drives

Consider running reports via browser rather than ConfigMgr console

  • less resources consumed on ConfigMgr server
  • reports can be run quicker
  • don't need to give unneccessary access to the ConfigMgr console

In-place upgrade SCCM 2012 SP1 to R2

Back to main menu

I'm not usually a fan of in-place upgrades. However this particular one is OK. I've done it a couple of times now without much fuss. It wasn't seamless for me on either occasion though - I broke my PXE booting and had to reinstall WDS/PXE to resolve. If you can carry out basic troubleshooting with ConfigMgr you should be OK.

Edit 2: CU1 for R2 now contains this hotfix. Install this Cumulative Update after the upgrade.

Edit 1: Hotfix has now been released solving the two known R2 issues
1. WDS crashing
2. Slow downloads while in Windows PE

You can download it here 

Before you commence the upgrade you should read the Planning to Upgrade System Center 2012 Configuration Manager guide. This gives you full information on tasks you should carry out based on your infrastructure.
Also Review Pre-requisites for Site Systems.

Here is an extract:

Configuration Manager supports installing System Center 2012 R2 Configuration Manager to upgrade a site that runs Configuration Manager SP1. You can run the upgrade on the site servers of central administration sites and primary sites. After a primary site upgrades, you can then use the Configuration Manager console to upgrade secondary sites to System Center 2012 R2 Configuration Manager. It is not supported to upgrade a site that runs System Center 2012 Configuration Manager with no service pack to System Center 2012 R2 Configuration Manager. Instead, you must first upgrade to System Center 2012 Configuration Manager with SP1, and then upgrade to System Center 2012 R2 Configuration Manager.

Note that you do not have to have a CU installed in order to qualify for upgrade.

You MUST, at the very least, install Windows Assessment and Deployment Kit 8.1. You can download it here.

Now we are nearly ready to carry out the upgrade. But first:
  • Test the upgrade process on a copy of your site database (use /testdbupgrade)
  • Solve any existing issues (the upgrade won't fix them for you)
  • Fully patch the server
  • Reboot in case of pending reboots
  • Ensure you have a good backup
  • Disable site maintenance tasks for upgrade duration
  • Stop your Anti-Virus scanning

So let's start the upgrade (start at the top-level site in your hierarchy).

First we must uninstall the existing version of Windows Assessment and Deployment Kit (version 8).

and then install Windows Assessment and Deployment Kit 8.1

Note that we only require the following features:
  • Deployment Tools
  • Windows PE
  • USMT

Now launch the ConfigMgr 2012 R2 installation by double-clicking on splash.hta

The Setup wizard is launched

Click Next

When you launch the wizard on an existing SP1 site server the wizard detects this and defaults to "Upgrade the Configuration Manager site". Click Next.

Enter your license key.

Accept the License Terms.

Accept the License Terms for the additional software. 

Choose a location to download the prerequisite files and click next.

The files are downloaded.

Choose your required languages.

Verify the setup method - note it will say "Upgrade".

ConfigMgr runs the prerequisite check.. If it is successful you can click "Begin Install".

The ConfigMgr upgrade commences.

Upgrade is completed.

Open the ConfigMgrSetup.log file on the root of the C: drive.

Verify success.

Verify the new Site Version - 5.00.7958.1000.

Examine the Site Components for errors and test the functionality by carrying out simple deployments - software updates, software distribution, OSD.
(As I said at the beginning I had to repair my PXE booting configuration).

Now continue with the upgrades

Manually upgrade each Configuration Manager console that is installed on a computer other than the site server.

Secondary Sites:
Microsoft extract:
With System Center 2012 R2 Configuration Manager, when you plan to upgrade an existing secondary site that uses SQL Server 2012 Express with no service pack, or retry a failed secondary site installation, you must first apply cumulative update 2 to the SQL Server 2012 Express installation on the secondary site server. This is because, when System Center 2012 R2 Configuration Manager installs SQL Server Express as part of a new secondary site installation, it installs SQL Server 2012 Express with no service pack and is unable to install the required cumulative update 2 as part of the installation. When you direct Configuration Manager to install SQL Server Express as part of a new site, the prerequisite check does not detect an existing installation of SQL Server Express, and then installs SQL Server Express as part of the site installation. During an upgrade or retry, if an existing version of SQL Server Express is detected that does not meet the minimum version requirement for System Center 2012 R2 Configuration Manager of SQL Server 2012 Express with no service pack and cumulative update 2, the upgrade or retry will fail.

The moral of the story is - you must install SQL Express 2012 CU2 manually before carrying out the R2 upgrade of Secondary Sites.

When you upgrade a client, the current client software is uninstalled and the new client software version is installed. To upgrade clients, you can use any method that Configuration Manager supports.


Now don't forget to apply the R2 Hotfix (mentioned above).

You can download it here