You are browsing the archive for CM2012.

Avatar of timdk

by timdk

Unable to retrieve Configuration Manager 2012 Status Messages

7:13 pm in Configuration Manager by timdk

Recently I bumped into an interesting issue with status messages on a Configuration Manager SP1 site.

The following occurs when trying to run a status message query: an error message is displayed indicating “the status viewer was unable to retrieve the stored queries list from the database”. When closing the initial dialog box 2 more errors are shown and in the end no status message are displayed at all.

The following screenshots show the exact errors:




We spent quite some time troubleshooting this issue but nothing on the server or any of the logs was pointing into a direction of a possible cause. Turns out that to resolve this issue you need to modify the startup type of the SMS Executive and Component Manager Services. Set the startup type to Delayed Start and then reboot the system after the change.


We tried to get more information from Microsoft Support to better understand the root cause.  Apparently what is part of the issue is the way how the Configuration Manager infrastructure was implemented. In this particular case the site server and SQL are installed on one system and  the SMS Provider is installed on another remote system. By implementing the delayed start of these services on the site server we ensure all required elements are starting in timely and sequential manner. Bottom line: all other services (eg. SQL) are starting up before the Configuration Manager services.

I hope this saves you some troubleshooting time when facing a similar issue.


Avatar of timdk

by timdk

Creating a Software Update Group based on an input file

3:29 pm in Configuration Manager by timdk

Depending on your patching process the way you structure and create Software Update Groups in Configuration Manager 2012 may vary. At quite a few customers I see a scenario where the monthly patch review board spawns a spreadsheet with the Updates to be released into the environment. Having to create a Software Update Group based on that spreadsheet manually can be a time consuming task for the Configuration Manager administrator.

With the new powershell cmdlets available in Configuration Manager 2012 Service Pack 1 I found out it was really straightforward to automate the creation of the Software Update Groups and populating them based on a csv input file. For someone like me, having very little experience with Powershell and scripting in general, it only took a few hours of playing in my lab to accomplish this. Lets have a look at the steps I’ve walked through.

Step 1 – The input file



Example of a .csv input file.

As a source for input we will use a csv file. As you will see later on, this type of file is very easy to use with powershell. If you need to start from an Excel (.xls, .xlsx) file you can easily save it in csv format.

The input file usually contains a lot of information on the updates to be deployed. The most common ones are the Article ID, Bulletin ID and the description of the update itself. I decided to use the description field as it is most likely a unique field. Fields like the Article ID and Bulletin ID can be applicable for multiple updates (eg for different updates per CPU architecture).The screenshot shows an input file from my lab.

Final part of this step is to copy the file on a dedicated folder on the site server.

Step 2 – Building the script


To automate the import we will be using 3 powershell cmdlets: Import-csv, Get-CMSoftwareUpdate and New-CMSoftwareUpdateGroup. Below is a short summary on what the cmdlets can be used for:

  • The Import-Csv cmdlet creates table-like custom objects from the items in CSV files. Each column in the CSV file becomes a property of the custom object and the items in rows become the property values. Click here for more details:
  • The Get-CMSoftwareUpdate cmdlet retrieves configuration settings for one or more software updates. More details on the cmdlet can be found here:
  • The New-CMSoftwareUpdateGroup cmdlet creates a software update group for Microsoft System Center 2012 Configuration Manager. More details can be found here:

The Import-csv cmdlet will be used to read the information from the input file. Based on the Displayname of an update we will use the Get-CMSoftwareUpdate cmdlet to determine the CI_ID that each update has in Configuration Manager. We will need the CI_ID’s as input for the New-CMSoftwareUpdateGroup cmdlet to populate the newly created Software Update Group.

There are two pieces of information we will need as input for the script: the path and name of the input file and the name of the new Software Update Group to be created. We should be able to provide these as parameters for the script and prompt for them in case the administrator forgets to specify them.

Putting all these elements together results in the script shown in the screenshot below:


The CreateCMSUG.ps1 script.

Save the script in the dedicated folder on the site server where the input file was saved previously.

Step 3 – Connecting via Powershell and running the script



Connecting to Powershell via the Console.

Connecting to the Configuration Manager site with powershell can be done via the console. Click the blue tab in the top left corner and select Connect via Windows Powershell. A new window will open and the prompt should look like PS %Sitecode%:\>

When running the script you can provide the required parameters immediately: the first one is the name and location of the input file and the second one is the name of the new Software Update Group. In case you do not provide them you are prompted.Notice that upon succesful creation of the Software Update Group the details of that SUG are shown. The LocalizedDisplayName property shows the name that was provided as input parameter for the script.

Step 4 – The result



The newly created Software Update Group

Open the Configuration Manager console and go to the Software Library workspace, then click Software Update Groups. Your newly created Software Update Group should be listed. If

it is not make sure to refresh the view. Optionally you can change the name of the Software Update Group by modifying its properties.





Current members of the Software Update Group

To check the membership you can either double-click the Software Update Group or right-click and select show members.

Conclusion: given the fact that I am not a scripting expert, there is probably much room for improvement on the script. As I am eager to learn more on Powershell with ConfigMgr I will further work on optimizing the script in the future. For now I have a quick and easy solution to create my Software Update Groups and save a lot of time.

The script can be downloaded here:CreateCMSUG Powershell script (2156)

Hope it helps!



Avatar of timdk

by timdk

ConfigMgr 2012 SP1 Media Updates

7:24 pm in Configuration Manager by timdk

Based on the following announcement you may  want to grab the latest media before implementing your next configuration manager site:

  • The installation files for System Center 2012 Configuration Manager Service Pack 1 (SP1) and the associated Endpoint Protection for Linux OS and Macintosh OS were refreshed on January 25, 2013.
    The SP1 media was updated across all distribution channels (MSDN, TechNet, Volume License, and evaluation versions) to include the following hotfix:
     Installation error 0x800b0101: System Center 2012 Configuration Manager Service Pack 1 client
    If SP1 was installed prior to January 25 and the hotfix from KB280187 already applied, no action is required. This updated release simply removes the need to apply the hotfix to new SP1 installations.

Source and a bit more details can be found here.

Until next time.


Avatar of timdk

by timdk

Configuration Manager 2012 Technical Documentation download

10:30 am in Uncategorized by timdk

The May 2012 product documentation for System Center 2012 Configuration Manager is now available for download.

There are two formats available which allow you to have all the Configuration Manager 2012 documentation available at your fingertips.

Additionally you can download the Help Update Wizard to install a local copy of the System Center 2012 Configuration Manager Documentation Library (CHM) which contains a copy of the guides in the TechNet documentation library. This is useful if a computer running the Configuration Manager console does not have Internet access or if you want a standalone copy of the documentation in CHM format.

Download the files here.

Avatar of timdk

by timdk

Building a lab environment with System Center Unified Installer – Part 3

4:00 am in Uncategorized by timdk

This post is the last part of this series. After defining the lab layout in Part 1 and doing the necessary preparations in Part 2. It is now time to run the System Center Unified Installer and watch our lab environment being built for us.

The installation needs to be ran with an account that has administrative permissions on all target computers. As such we will logon to the installer PC –OR1 in our case- with a domain administrator account and run the setup.exe from the UnifiedInstaller folder.

Now we need to walk through the wizard:

Click Install System Center and click OK on the pop-up.

Enter your product registration info and accept the license agreements before clicking Next.

Select the product you wish to install. For our lab we select Orchestrator, Configuration Manager and Operations Manager.

Specify the locations where the product installation sources can be found.

Accept the license terms and click Next.

Accept the license terms for the prerequisites and click next again.

Specify the location where the binaries for each prerequisite are stored.

Leave the default installation locations and click Next

Specify the target server names and click Next

Specify the domain administrator account as the service account and click Next.

Specify the name for the management group and the site code/site name for the CM site.

Decide whether to join the CEIP or not and click Next

Review the settings and click Install.

And now the beauty of the Unified Installer kicks in: you can leave the lab environment and spend some time away from your desk. When you return in a few hours your entire lab will be up and running. For our reference environment the installation took approximately 4 hours.

Once the setup is completed a summary page is shown. Verify all components were installed successfully and click close to exit the wizard.

Now would probably a good time to take a full snapshot of the environment again. At a later point in time, when you have completed specific tests, you can then always return back to this initial clean state.

All done!

Post installation note:

  • The Unified Installer installation process does not configure the memory for the backend SQL instances. You might want to configure the memory settings for each of them as per the best practices.

Conclusion: the Unified Installer offers a nice and fully unattended approach for deploying lab and demo environments for System Center 2012 products. Use it to start building your lab environments now!

Avatar of timdk

by timdk

Building a lab environment with System Center Unified Installer – Part 2

4:00 am in Uncategorized by timdk

In the first part of the series we have outlined the requirements and the topology for the lab environment. Now we will start preparing the environment in which the System Center Unified Installer will be run.

Server Preparations

Except for the DC1 all virtual servers are configured with the following specs:
– 2 x CPU
– 2 Gb RAM
– 40 GB Hdd (SYSTEM)
– 1 NIC connected to the virtual switch (private)

Note: do not configure these systems with less then 2 CPU’s and 2 Gb of memory or the Unified Installer configuration wizard will not allow you to continue with the installation.

The DC1 server is configured as follows:
– 1 x CPU
– 512 Mb RAM
– 40 Gb Hdd (SYSTEM)
– 1 NIC connected to the virtual switch (private)

Base configuration for all 4 machines:
– Windows Server 2008 R2 with Service Pack 1
– Networking configured (see topology figure in part 1 for details)
– .Net Framework 3.5.1 feature is enabled

Domain Setup

The DC1 server is promoted to become a domain controller for the Sandbox.Lab domain. DNS is installed and configured at the same time. For future purposes DHCP is also installed on the DC1 server.

Additionally an Organizational Unit called Servers\SC2012 was created. This is where the following computer objects will be placed: OR1, CM1 and OM1.

As this is a lab environment I decided to turn off the Windows Firewall on the machines. For this I implemented a GPO called “SC2012 srv config”. The FW configuration is done as follows: go to Windows Settings > Security Settings > Windows Firewall, then open properties and on the domain profile tab set firewall state to "Off".

Preparing the installer PC

The Installer PC will be the actual Orchestrator machine in the lab environment.

To make it possible for the remote boot strap process to complete successfully, some local policies need to be modified:

  • Computer Configuration / Administrative Templates / System / Credential Delegation / Allow Delegating Fresh Credentials
  • Computer Configuration / Administrative Templates / System / Credential Delegation / Allow Delegating Fresh Credentials with NTLM-only Server Authentication

The detailed procedure on how to do this is available here.

Preparing the target PC’s

Keep in mind that the Orchestrator machine in our scenario is not only the Installer PC, at the same time it is also a target PC.

Also here some local policies will need to be modified, for this we will update the “SC2012 Srv Config” GPO that was created earlier:

  • Computer Configuration / Administrative Templates / Windows Components / Windows Remote Management (WinRM) / WinRM Service / Allow automatic configuration of listeners
  • Computer Configuration / Administrative Templates / Windows Components / Windows Remote Management (WinRM) / WinRM Service / Allow CredSSP authentication
  • Computer Configuration / Administrative Templates / Windows Components / Windows Remote Shell / Allow Remote Shell Access
  • Computer Configuration / Administrative Templates / Windows Components / Windows Remote Shell / Specify maximum amount of memory in MB per Shell

The detailed procedure on how to implement is available here.

Additionally you will need to run the following commands on each machine:

  • winrm qc –q
    winrm set winrm/config/service/auth @{CredSSP="True"}
    winrm set winrm/config/winrs @{AllowRemoteShellAccess="True"}
    winrm set winrm/config/winrs @{MaxMemoryPerShellMB="2048"}

This concludes the preparations – at this point I would recommend to take a snapshot of the entire virtual environment.

Preparing the installation sources

Once the basic infrastructure is ready we need to prepare the installation sources. We will need all System Center 2012 product binaries and all binaries for any prerequisites needed to complete the installation of those products. Additionally we will need the binaries for SQL Server 2008 R2 binaries plus Service Pack 1 and CU4.

At MMS 2012 the attendees were handed out a USB stick with all the required sources to deploy a lab environment. So we were lucky enough not having to download and prepare all sources. This is how the layout of the USB stick looks like. It gives an idea on how you could structure the binaries as you download them:

This is the root of the drive, you will only need the marked folders:

These are the contents of the prerequisites folder, the names are self-explaining:

And these are the contents of the SystemCenter2012 folder. For our lab scenario only the marked ones are required:

Make sure that all binaries are available on the installer PC, in our lab this will be the OR1 machine which will be running System Center Orchestrator.

That’s it for now.

In the final part of these series we will walk through the Unified Installer installation process.

Avatar of timdk

by timdk

Building a lab environment with System Center Unified Installer – Part 1

4:00 am in Uncategorized by timdk

With the RTM release of System Center 2012 came the time to dispose my RC2 lab/demo environment and build a brand new one. To rollout my new environment as quickly and effectively as possible I decided to explore the capabilities of the System Center Unified Installer.

This blog series will outline my experiences building the lab, and will contain the following parts:

  • Part 1 – Designing the lab
  • Part 2 – Preparing the infrastructure
  • Part 3 – Deploying using System Center 2012 Unified Installer

Proceeding directly with the first part, lets outline the objectives and come up with a small design for the environment.

The current specs of my Hyper-V host machine do not support the full-blown installation of the entire System Center 2012 suite so my lab will run the following components:
– System Center Orchestrator
– System Center Configuration Manager
– System Center Operations Manager

Each of these components will get a dedicated machine. Additionally I will need a server to support the Domain Controller role and also the DNS and DHCP services. The following figure shows the topology of the lab:


No additional machines are required for hosting the databases. The backend databases for the System Center products will be running on the same server as the actual product.

That’s it for now. In the second part of the series we will start preparing the environment.

ConfigMgr 2012 Prereq Checker warning: Verify site server permissions to publish to Active Directory

4:53 pm in Uncategorized by hakkktgfdeUG

Scenario During installation of Configuration Manager 2012 RC2 the prerequisite checker lists a warning for the prerequisite: Verify site server permissions to publish to Active Directory although the required permissions are in place. As the environment might expand and more site servers could be implemented it was opted to grant the permissions using a domain […]