AZ Systems Management User Group presents: System Center Service Manager

We are planning on having our November meeting of 2013.  This meeting will be held at the Microsoft Office: 60 East Rio Salado Parkway, Tempe, AZ 85281, 12th floor on Thursday, November 7th. The meeting will start at 3:00 PM with the welcome time at 2:30 PM-come early and socialize a bit.

Are you looking to complete your System Center strategy by leveraging the capabilities of Service Manager?  If so, our very own Steve Patterson is going to demonstrate Service Manager from an infrastructure CMDB approach as well as touch on some of the helpdesk features.

Learn how to integrate Service Manager with VMM, Orchestrator, SharePoint and Configuration Manager.  The topics that Steve is going to cover are:

Service Management

  • Control the basic Core offerings within a company
  • Accounting Services
  • Data / Document Management
  • Data Protection Backups and Restores
  • Intranet Requests
  • Server/Service Management
  • Allow end users to request any of these various Company offerings
  • Monitoring the Tasks created by these Requests

Back End Service Template Configuration

Connectors – SCOM/SCCM/AD

  • Review Connectors in SM
  • Review Connector on SCOM side

Library Options

  • Custom Lists
  • Service Catalog
  • Templates
  • Knowledge Base

Incident Management

  • Incident Templates
  • Incident Tasks
  • Incident Workflows
  • Incident Escalation
  • Incident Tasks

Change Control

Reporting Examples

Data Cube Examples

Steve has been working in the technology field for over 15 years or “a long time”  depending on how you want to look at it.  He has been working with SMS/Configuration Manager since 2005 starting with version SMS 2003 all the way through the current CM 2012 SP1.  Specialties within CM include OSD/Image Management, packaging and VBS Scripting.  He also has been working with Operations Manager since 2007 and uses Virtual Management Manager 2008 and 2012 SP1 extensively to manage multiple Hyper-V Clusters.  In 2010, Steve deployed Service Manager with the help of Microsoft..  Multiple Service Manager workflows and templates were developed that carry through to Service Manager 2012 SP1.

Prior to joining the Firm, Steve worked as an Implementation Consultant with a software company where he was involved in all aspects of the software deployment from light development, to server staging, database management and customized reporting.  These tasks provided him with a strong skillset with project management, database management and SQL reporting, which helps with all of the System Center Products.

Registration Link:


Mike Terrill

Arizona Systems Management User Group

How to quickly create Collections using New-CMDeviceCollection

It is probably not everyday that you need to create a bunch of collections in ConfigMgr, however, you might find yourself setting up a new infrastructure, lab environment or just doing some load and performance testing that justifies the need for some automation. Using the technique I demonstrated in my previous post Fun with PowerShell – Formatting Numbers, we can simply add an extra line inside the for loop to do just that.  By formatting the number of digits and using it as part of the collection name, your collections will have a consistent ordering when viewing them in the console.  Here is a quick example that creates 10 collections and places the formatted number at the end of the collection name:

for ($x=1; $x -le 10; $x++){
#Format the number as two digits in order to maintain a consistent look for collection names, etc.
$a="{0:D2}" -f $x
New-CMDeviceCollection -Name "TEST_Collection_$a" -LimitingCollectionName "All Systems"

Depending on your preference, you could also place the number either before the collection name or in the middle of the name.  Just remember to use the backtick (`) as an escape character if using an underscore after your variable.  So, if you wanted to put the number at the beginning of the name, the New-CMDeviceCollection line would look like this:

New-CMDeviceCollection -Name "$a`_TEST_Collection" -LimitingCollectionName "All Systems"

When you need to clean up and delete your test collections, use the Remove-CMDeviceCollection command and place the wildcard asterisk in the place of the digits:

Remove-CMDeviceCollection -Name "TEST_Collection_*" -Force

Automating collection creation is also a good way to enforce naming standards and keep your console neat and organized.

Creating Schedules with New-CMSchedule

If you ever did any schedule creation prior to the two new PowerShell cmdlets (New-CMSchedule and Convert-CMSchedule), then you probably already know how tricky it was working with scheduled tokens and are going to welcome these new cmdlets.  In this blog post, I am going to show you how easy it is to use New-CMSchedule to create a weekly recurring schedule.

Schedules are used for many things in ConfigMgr, such as collection evaluation cycles, deployment times and even certain client settings.  For this example, we will create a collection evaluation schedule.  The first thing we need to do is determine what kind of schedule we want to create.  Let’s select a weekly recurring schedule that runs every Saturday at 9:00 PM.  For simplicity, we will start this on 10/12/2013.  Using the console, the schedule would look like this:

Custom Schedule

From this, we can extract the following information:
Start time: 10/12/2013 9:00 PM
Day of the week: Saturday
Recur every: 1 week

We can easily create this schedule using the following command:

New-CMSchedule -Start "10/12/2013 9:00 PM" -DayOfWeek Saturday -RecurCount 1

Assign this schedule to the variable $Schedule so that we can use it to create a new collection:

$Schedule = New-CMSchedule -Start "10/12/2013 9:00 PM" -DayOfWeek Saturday -RecurCount 1

Create a new collection called TEST-Collection Schedule using the following command:

New-CMDeviceCollection -Name "TEST-Collection Schedule" -LimitingCollectionName "All Systems" -RefreshSchedule $Schedule -RefreshType Periodic

NOTE: There are actually four different refresh types that can be set, however, the current cmdlet only supports three of them. If you want to configure incremental updates and full collection evaluation based on a schedule, you will need to set this directly

If you open the collection properties up using the console, you will notice that you now have a collection called TEST-Collection Schedule and it has a custom refresh schedule like the one pictured above.

This is just one example on how easy it is to create schedules in ConfigMgr using the New-CMSchedule cmdlet.

ConfigMgr and PowerShell ISE (x86)

I typically run the PowerShell ISE (x86) (instead of the PowerShell command prompt) when running commands and writing scripts for ConfigMgr. It provides the flexibility to highlight portions of your script and execute just that section. You can also echo out the contents of a variable on the command line below at any time to see if it matches up with your expected results – very handy for troubleshooting.

My friend Greg Ramsey wrote a great article (ConfigMgr and PowerShell-Preparing Your Environment – Part II/) on how to create a shortcut to a script that will automatically load the ConfigMgr module.  If you save your file as Microsoft.PowerShell_profile.ps1 and copy the it into C:\Windows\SysWOW64\WindowsPowerShell\v1.0\, the next time any user on that system runs PowerShell ISE (x86) it will automatically load the ConfigMgr module and set the psdrive to your preferred site.

Remember, this requires PowerShell 3 or later and the ConfigMgr 2012 Admin SP1 (with SP1 CU2 or later for best results) Console in order to work.  Since the ConfigMgr PowerShell module is 32-bit, it needs to be run in 32-bit PowerShell in order to work.

Hopefully you find this trick useful and it gets you using PowerShell with ConfigMgr more often.

Fun with PowerShell – Formatting Numbers

Recently, I had the need to develop a consistent numbering format in order to maintain character length and ordering for collection names in ConfigMgr.  The basic idea was to create 31 collections, each that have the number in the name a keeping all of them to two digits.  So, for the numbers less than ten, adding a leading zero will maintain this two digit format.  Luckily, this is very easy to do inside PowerShell using the .NET formatting methods.

Starting with the number 1, we can format this as 01 using the following command:

“{0:D2}” -f 1

Create a quick loop from 1 to 10 and you see that you have a nicely formatted two digit output:

for ($x=1; $x -le 10; $x++){
#Format the number as two digits
"{0:D2}" -f $x

This can be expanded to the number of digits that are required. Also, there are other format types as well: C is for currency, P is for percentage and X is for hexadecimal.