SCSM Console Cumulative updates management using SCCM 2007

Dec 10 2011

 

SCSM cumulative updates often require all management consoles to be updated once the infrastructure servers are updated. If you have a large amount of consoles this can be tedious.

See my previous post for infrastructure upgrade steps:

http://www.nn4consultants.com/2011/12/upgrading-scsm-2010-sp1-to-cu3/

With System Center Configuration Manager 2007 (SCCM 2007) the process is simple.

· Download the CU executable

· Created a Directory called Extracted

· Use 7z to extract the msp file and associated files

· In SCCM create a package and program to install (e.g. silent command: msiexec /p SCSM2010SP1_CU_KB2588492_i386_7.0.6555.128.msp /qn)

· Create a query based collection to find all SCSM installed consoles (use Workstation operating system filter)

· Create Advertisement to deploy

· Schedule the deployment after the Infrastructure update http://www.nn4consultants.com/2011/12/upgrading-scsm-2010-sp1-to-cu3/

Detailed Steps:

Extract the CU exe to a directory using an extractor (e.g. 7zip) ridiiks3
In the SCCM Console |Computer Management |Software Distribution |PackagesCreate a New Package kj2es02s
Provide a name and optionally a comment ykxoc4zs
Specify the Source directory for the extracted update files (navigate to the SCSM Patch folder) kt2c12u2
Next vqap0d05
Next 3ngieszm
Next |Next|Next xup51vhc
Close r3izwcwy
Create the Install Program bgc4iaj2
  3ktfgxzd
msiexec /p SCSM2010SP1_CU_KB2588492_i386_7.0.6555.128.msp /qn c1tbxijl
q0lpl0mf
Configure as required and click Next nuntmr2v
Change to Whether or not a user is logged on to ensure silent installation is successful sutbrrpt
Configure as required and click Next ytk3rasw
Next lxjtcwcc
Next bcrplf5a
Review summary and click Next 20ltwong
Close jjph2ur4
Add to Distribution Point(s) 5vv12cwu
Next y2yyoesd
Select only standard distribution points (do not select the PXE) ms1ag5io
Close gsyn3tpm
   

Create a Query Based Collection (SCSM Installed Consoles)

select * from SMS_R_System inner join SMS_G_System_INSTALLED_SOFTWARE on SMS_G_System_INSTALLED_SOFTWARE.ResourceId = SMS_R_System.ResourceId where SMS_G_System_INSTALLED_SOFTWARE.ARPDisplayName like “Microsoft System Center Service Manager SP1″ and SMS_R_System.OperatingSystemNameandVersion like “Microsoft Windows NT Workstation%”

SCCM Console |Computer Management |Collections |New Collection  
Provide a name and appropriate comment for the collection ghfoenmn
Click on the database icon to invoke the query based collection Wizard lygjbou4
Provide a name for the query and click Edit Query Statement ¦ t3lgw0ws
Select the Criteria Tab aj5kyxth
Click on the Sunshine button to invoke the Criteria Wizard ryouacuv
Select as shown |Click OK | e.g Class attribute = Installed Software |Attribute = ARPDisplay Name sxuumnrl
Using an exiting Console Installed client check the display name :

Programs and Features/Add Remove Programs Display Name.

Record the display name

zgxqyjgw
Use the display name captured in Programs and Features 1vuqygdz
Click the Sunshine button (add the Workstation OS restriction)
NB: The patch is the same for the SCSM servers so prevent accidentally deploying to the management server by restricting the query to workstation OS only
qx4bvsad
Attribute Class = System Resource | Attribute = Operating System Name and Version nxkjhyft
Restrict to Workstation Operating Systems only to avoid updating the Servers (NB though applicable to x64 only; it is best to prevent for all scenarios) wte00gxs
  x1ctesyo
Click OK sljpkjx5
Click Next h1sikjyu
Click Next owczzlvl
Next | Next | Close mxv4lgca

Create Advertisement to deploy the update to the collection

SCCM Console |Computer Management | Software Distribution |Advertisements shmzi31m
Provide a name and comments as appropriate |Browse to the package |select the Program | Assign to a collection f3apde3f
Initially assign to the test collection. Change the collection to a live collection once the deployment has been validated wstj4onm
Schedule as necessary iisa1ml1
Test z5ecnbc4
Configure as appropriate and click Next uc3d0d40
Configure as appropriate and click Next zzjb2rci
Next |Review Summary |Next 3hftrh1x
Close  

No responses yet

Upgrading SCSM 2010 SP1 to CU3

Dec 10 2011

· Disable all connectors on the SCSM management server (CMDB)

· Create an Encryption key backup for all Management servers

· Backup all SCSM databases and the SSRS databases

· Backup all management packs

· Backup all DLLs for the custom MPs (e.g. Exchange connector)

· Install CU on DW

· Install CU on SCSM CMDB server and all secondary management servers

· Enable all Connectors

· Install CU on all consoles in use

· Install the Authoring Tool update on all systems with the Authoring tool installed on

Detailed Steps

Disable all Connectors

In the SCSM Console |Administration Node |Connectors qq3fxrkb
 Connector disabled message fxtwecvy

Create and Encryption key backup for all Management servers

Create a local folder e.g. C:\BKUPEN dppjnwxq
Insert the SCSM installation media (e.g. SCSM with SP1 ) | Navigate to  .\AMD64\Tools\SecureStorageBackup\SecureStoragebackup.exe  |Run as  Administrator btzdgfum
r5pj05nn
 Click Next ztkghxth
 Select Backup the Encryption Key | Next hxnpijgx
 Browse to the location you will be storing the Encryption Key file whtuclw0
 Specify a filename with a .BIN extension pjj0ncxb
 Provide a password yahomayd
 Click Next ms3i0hod
Copy the Encryption files to a network location  

 

Backup all SCSM databases and the SSRS databases

Process using SQL Server Management Studio crmwrcqe
 Right Click the database to be backed up | Tasks |Backup…. zqw4yr1r
 Select the media type |In this example you can back up to the local disk using the default SQL backup location |using a filename identifying the database e.g. ServiceManager.BAK 2qfwbms5
Repeat for all DBs yaypsxic
wk0pdd2q
Ensure the Backups are stored anywhere other than the SQL servers local drives  

Install CU3 on DW

 Download the update | right Click | Run as administrator v0gockhe
 Read and Agree |Install ktpp0hgq
 Update starts ezveiaon
 Close djb00vlm
Check services and if the Data Access Service is not running, start it 4ikb5bbn

Install CU3 on all other management servers starting with Workflow /CMDB Management Server (Use same steps as DW update above)

Enable all Connectors

 In the SCSM Console |Administration Node |Connectors q14wtnebbpyaj305
 Connector Enabled message rglserdv

Update all Management Consoles

In the next post, I will show you how you can use SCCM 2007 to deploy the CU to all your consoles.

No responses yet

SCSM Framework To Real Work Part IV-> AV Exclusions

Jun 22 2011

An area often overlooked during deployment of infrastructure applications is, exclusions from real-time scanning engines.

Below is the list of files and directories recommended for exclusion for SCSM (based on Forefront Protection)

Service Manager 2010 Files and Folders
%ProgramFiles%\Microsoft System Center\Service Manager 2010\Health Service State\*

Service Manager 2010 Processes
————————————————————————————————-
%programfiles%\Microsoft System Center\Service Manager 2010\HealthService.exe
%programfiles%\Microsoft System Center\Service Manager 2010\Microsoft.Mom.ConfigServiceHost.exe
%programfiles%\Microsoft System Center\Service Manager 2010\MonitoringHost.exe
%programfiles%\Microsoft System Center\Service Manager 2010\Microsoft.Mom.Sdk.ServiceHost.exe

2 responses so far

SCSM From Framework to Real Work Part III -> Reporting Delegation

May 14 2011

Enabling Reporting for SCSM Non Administrators

By Default only Service Manager Administrator role can see the reporting Icon in the Service Manager Console.

To allow other SCSM Console users to view reports, perform the following steps

Create the following optional Active Directory Groups:

-          SCSM Report Browsers

  • Add  the Service Manager Console users or groups who need read  access to the reporting Icon to the Browsers group

-          SCSM Report Publishers

  • Add  the Service Manager Console users or groups who need access  and publishing rights  to the Publishers group

-          Navigate to the Data Warehouse node in the SCSM Console |Security |User Roles

-          Report Users |Properties| Users |Add

-          Connect to the Report Manager URL <FQDN of DW Server>/Reports

-          Click on Details View on the Right (under Search)

-          Click on the white space next to the SystemCenter folder and Select Security

-          Click on New Role Assignment

-          Type the name of the group for the Role and select the reporting permissions (e.g. Browser for the Readers group)

-          Repeat for the Publisher Role (AD Group in our example)

-          Click OK

-          Click on the Home link

-          Click On the SystemCenter folder to Drill down to the next folder which is ServiceManager

-          Click on the white space next to the ServiceManager folder and Select Security

-          Click on New Role Assignment

-          Repeat the steps for setting the role types as performed on the SystemCenter Folder

-          Click OK

On the DW where SSRS is installed restart the SSRS Service

This would provide right level of SSRS access and also allow non SM Administrators to have the reporting Icon displayed in the Console.

No responses yet

New SCSM Self Service Portal -> Customize with no Web developement

May 04 2011

In this blog I will share

A redirection link is provided to redirect users back to the home page if the new user request is selected. Thank you to Kenny Stanford for helping me out with the web updates.

EndUsers requesting a new AD user creation is not a scenario for customers I have engaged with and the update to the page has been done due to the additional steps required to remove the hardcoded link. Instead we took the approach of presenting the end user with a message and hyper-link explaining the feature is not in use (non developer approach and business solution).

Disclaimer: This has been tested and implemented at Customers I have worked directly with and is provided with no warranty or support. The golden rule is test test test before implementing in a live environment.

 Steps to replace the existing Portals:

  • Backup current Enduser  and Analyst portal sub-directories.
  • Stop the SCSMPortal Site

  •  Rename the Analyst and EndUser sub-directories to .old as a rollback option.
  • Extract the ZIP file in this blog post to a temporary location
  • Copy the Extracted EndUser and Analyst directories to the original portal locations.
  • Restart the SCSMPortal website and test
  • The resulting site should look like below with the new Sharepoint style and the redirection link

DownloadZipFile

10 responses so far

SCSM From Framework to Real Work Part II

Dec 23 2010

In part I of this series we explored the link between current frameworks and how we do our real work. We also discussed how SCSM takes you from framework to real work with less risk and more business benefit by being customizable and portable. We introduced the Administration node of the console.

In part II of Framework to Real Work, we will explore the Library node of the SCSM console

 

The library is your process toolbox. This part of the console contains the sub-nodes where various objects are provided for you and can be created for use in the ITIL/MOF processes SCSM implements. The objects and items in this section are relevant to the job you need to do (Incident or change management as examples). We will provide an introduction to the sub-nodes;

  • In SCSM you have things (Configuration Items – CIs) you want to do something to or, have something wrong with (Work Items). Groups are a used to organise CIs to match your organisations real work view.
  • Groups act as building block for organising CIs (e.g. All Database Servers) which then allows us to apply role based security (who has access to database servers), or how to categorise our incidents or change requests. More on Groups when we get into the specific process sections in our series of Framework to Real Work.

 

In SCSM you have the ability to learn from past experiences in your organisation, sharing known best practise and also providing access to external information.

  • The Knowledge sub-node presents a single pane of glass to view all your internal knowledge and use this information as part of your processes.
  • All Knowledge Articles – Where we can view all knowledge articles includes Archived, Draft and Published articles.
  • Archived – Knowledge articles that have been archived to reduce the number of articles presented/displayed whilst retaining important information (archived knowledge may be referred to if a known problem is encountered again).
  • Draft – Knowledge articles pending approval before publishing or not yet ready for publication
  • Published – Knowledge shown to our users or analyst depending on the ITIL/MOF process (e.g. in Incident Management – try this first user?)

  • Lists drive the Framework to Real Work flexible approach implemented by SCSM. This sub-node has default predefine lists used in the ITIL/MOF processes SCSM is designed to implement. We can extend this list to match our environment.
  • One approach to understanding the use of lists is to view their use to support the incident management process.
Incident Management Lists Description/Use
Incident Classification  Type of incident e.g Printer problems. Add your custom types. this list is presented as a drop down in the incident form
Incident Source  How the incident was raised. Email, portal and console are all examples. Also provides us with a method to measure and track where the incidents are generated
Incident Tier Queue  The levels of service support. The default is tier 1 , 2 and 3. Most environments may have 1st line , 2nd line and 3rd line. Rename and or extend as required to reflect your needs
Impact  Impact of the incident (NB this is a shared list with other processes) – Low, Medium and High. Extend as required.
Urgency Urgency of the incident (NB this is a shared list with other processes) – Low, Medium and High. Extend as required.

 

  • The default lists in SCSM can be renamed to suit the organisation terminology (Do Not Delete the default lists; they are referenced by GUID in default SCSM Workflows etc.). We can also create and extend the lists in the console (Some list types have to be created in the Authoring Tools only)

  • Queues are used to create collections of what needs to be done (Work Items – WIs) so we can assign it to the teams or individuals for doing what needs to be done. So we create a queue for all Desktop incidents and we can then assign the queue to the Desktop Group (Configuration Items user group).
  • Typically Queues are mapped to the Incident, Change and Configuration Management processes. We will expand on this as we progress through this series of Framework to Real Work.

  • This sub-node is where you create a gateway to external calls to tools used to support processes like incident and problem management. So we can create a ping task to launch the command prompt and ping a CIs (Computer) that is reported as unavailable.  SCSM allows you to pass the computer name automatically by querying the information in the SCSM Database. This not only presents a single gateway but also reduces the time it takes to switch consoles whilst also increasing user input quality.
  • Tasks can be scoped to specific areas in the SCSM Console (e.g. only present the launch Active Directory Users and Computers console from the Users node in SCSM). This means we can extend our role based security as well as only showing what is relevant to a section.

  • The templates found in the Library node is the second type of templates in SCSM. The two types are Notification and Forms. The forms (Library)Templates in SCSM provide two common functions; static (standard prefilled templates) or dynamic (workflow and activity templates). Templates are also best viewed by the process they support. Looking at the incident management process;  
    • Static (standard prefilled templates) – similar to traditional templates (e.g. MS word template with company logo and prefilled address); Template for all incidents created using the portal. From the image we can see that the incident source (refer to the use of lists described earlier) is prefilled with “Portal” and also the Urgency and Impact are also filled.

  • Dynamic (Workflow and Activity templates) – to perform an activity like changing the support team from 1st line to 2nd line, we have to create a template with the assigned field set to 2nd line. The workflow step will then “change” the field by “applying” our template. A second  workflow example is to assign incidents with a specific classification category (also refer to the Incident Classification List) to a support tier.

 

The library components in action

In our scenario to demonstrate the use of the Library node, all tickets are initially assigned to Tier 1. Once investigated we assign the ticket to the team responsible for further investigation; we will use the database team as our example.

Tier 1 use the Knowledge base as the reference to perform diagnostic tasks and escalation processes. Tier 1 assign the category to the relevant team (e.g. database team) using the Incident Category. A workflow monitoring the incident category field automatically assigns the incident to the next tier team.

Steps to achieve the scenario

  1. Create active directory group e.g. Database Support Team (add members)
  2. Create Active directory group called Tier 1 Support (add members)
  3. Synchronise the AD connector for SCSM
  4. Create the SCSM Group for the database components. We can use the business service as input for the group. Services are a component under the configuration Items node. We can define a simple service that includes all database servers.
  5. Modify the default Incident Template – change the Assigned to field to Tier 1 Support (AD group created)
  6. Create a Knowledge Article for Database Service Issue first diagnostics steps (e.g. KB directs Tier 1 to ping the server(s) and then check for the DB services; if unsuccessful change the Incident Category to the Database Services Problem)
  7. Create a task for the database diagnostics (e.g. ping task, services applet)
  8. Add a new list item to the Incident classification list (e.g. Database Service Problems)
  9. Create an Assigned to changing Template (dynamic) where the Assigned to field is set to the Database Support Team
  10. Create a Queue for the Database Support Team by using the Incident Classification field  equals “Database Service Problems”
  11. Create a Workflow that checks the Incident Category equals Database Service Problems and applies the Assigned to changing Template from step 9

In this blog we discussed the Library node in the SCSM console and how this node is core to the SCSM processes. We also explored a scenario for incident management to demonstrate how the various components interact and depend on each other.

We would explore detailed processes with screenshots in future blogs. The SCSM official step by step guides are available here

No responses yet

SCSM From Framework to Real Work Part I

Dec 05 2010

The latest addition to the System Center suite of products requires a change in mind set and approach to unleash the value and benefits to organisations who invest in it.

In this blog we will explore

The connection between frameworks and how we work

How to make frameworks like ITIL and MOF work for you

An introduction to the Administration node in SCSM Console and the business functions behind the node.

Frameworks and how we work

I received an expensive photo frame as a gift. static frame

The colour, quality and dimensions were just right. This would be perfect for the lounge. As excited as I was, I knew I had a major challenge ; I had hundreds of digital pictures on my computer and phones that would need to be printed ;

Which would be my favourite picture

Right size of pictures

Manually swap the pictures out or use the same picture but which one?

Printing cost – photographic shop or expensive printer and photographic printer paper?

My solution Digital Photo frame

Use my new static photo frame as a guide on dimensions for a digital photo frame

Get a digital frame of the same dimension

Result

Display multiple pictures, sort by occasion and significantly reduce my cost.

SCSM – Making frameworks like ITIL and MOF work fork you

ITIL is an international framework which enables an organisation to address the challenge of providing excellent services without high costs. MOF is Microsoft’s framework for achieving the same result. ITIL does not state specific technology however, MOF is aligned with the Microsoft products that enable organisations to adopt and adapt both frameworks.

More on MOF here and ITIL here

Microsoft System Center Service Manager provides you the ability to apply ITIL and MOF frameworks in a digital photo album framework style, instead of, the traditional static photo frame style which has hidden costs and flexibility challenges.

Let me unpack this for you

 unpacking

Static frame type products require on-going customisation that introduces cost, e.g. cut the picture to fit the framework; modify the frame to fit the picture.

SCSM is built for customization – save your picture in multiple formats and sizes, preview before displaying and transport with ease, at a lower investment with great returns

Real work introduction to SCSM

To get the value of SCSM let us start with a foundation and build our ITIL/MOF processes on this core area of the product.

When you complete the installation of SCSM you are introduced to the SCSM console

SCSM ConsoleSCSM Admin Node

So where do you start?

In this section we will explore the Administration node

SCSM Admin Node Expanded

 

Announcements

SCSM Announcements

 

Used to communicate proactive messages to organisation. Messages can be configured to expire automatically, priority assigned and role based security is applied to control quality of messages.

Active announcements are the announcements that have not expired (as set by the SCSM administrative user)

Connectors

scsm connectorsThis node is used to create connectors to other systems like Active directory, SCCM , OpsMgr and other 3rd Party Systems

We can also use the CSV connector to upload data into SCSM

We will discuss connectors in detail in a future bog

Deleted Items

scsm deleted Items

 

SCSM objects that have been deleted (first phase deletion – similar to a recycle bin).

Once an object is deleted from the Deleted Items, it is removed from the Service Manager database

Management Packs (MPs)

scsm MPs

 

SCSM container or bucket for the default objects and how they are configured. Similar to OpsMgr MPs

There are 2 types , sealed and unsealed

Sealed = Read only and signed by you or the supplier of the MP to guarantee author source

Unsealed = Read /write. You can do a Save As on a sealed read only MP (i.e. export and then modify)

MPs are created and configured in a number of tools. The default for the SCSM administrator is the SCSM Authoring Tool (stand-alone and external to the console) and also within the SCSM Administrative console. Advanced developer type customisations to extend the product are typically performed in Visual Studio and similar tools.

Any customisation you make in the SCSM Administrative console needs to be stored in an MP, as most of the default MPs are sealed you need to create an MP for your customisations. The Authoring Tool has much more customisation functions and also extends the types of customisation that can be performed in the console in a controlled environment.

The MPs are the differentiator of SCSM from other products when it comes to customisation

Your customisation is stored in the portable container (MPs)

Move your customisations from development to production in a controlled manner

Share your customisations with other instances and also preserve during upgrades without the need for re-engineering costs.

Notifications

scsm notifications

 

This where we configure foundation settings for notifications in other parts of SCSM Administration Console

Channels – the channel (SMTP infrastructure settings, default recipient etc.) for your notifications are configured here.

The first step in enabling email workflows (more on this in future blogs)

Subscription – who should we send notifications based on the workflow activity e.g. when a ticket is created for a queue or assigned to an individual.

Templates – preconfigured messages for your subscriptions, you are provided with default templates which you can copy and modify. You can also create your own (store it in an MP for portability).

Portal

scsm portalThis is where you customise the portal settings

Service Desk – Phone Number, email and Chat URL with their expected response times

What applications are published for users of the portal (has a dependency on the SCCM connector)

Automated Software Deployment workflow for users when they request published software (depends on the SCCM Connector and SCCM configured to allow the creation of deployment objects)

Security

scsm securityRun As Accounts – connector and service manager controlled user accounts are configured and stored here. Examples include the installation accounts, Active Directory connector account etc. This will vary by environment (refer to the SCSM documentation for best practise guidance).

User Roles – Where we configure role based security settings; who has access to do what and what objects do they have access to do what on.

Settings

scsm settingsConfigure general settings here like

Incident ticket Prefix (default is IRxxx where xxx = sequence of numbers incremented with each new ticket)), Change Request Prefix (default is CRxxx where xxx = sequence of numbers incremented with each new change request) , Priority calculation matrix and your custom resolution time settings for incidents are all the types of settings configured here.

OpsMgr URL (part of OpsMgr integration)

Workflows

SCSM WFsThis is where we use the guidance from our frameworks like ITIL, MOF and also how our organisation really works to automate the associated processes. Examples include

Routing tickets to a different team (SCSM term is Tier) based on the priority of a ticket or a category (e.g. Messaging category tickets get assigned to the messaging team and also moved to the messaging Queue (more on Queues in a future blog)

Configuration – Where we make configuration changes to the workflow (NB Workflows we create in the SCSM Authoring Tool will be displayed where once we have imported the relevant MP into the SCSM console).

Status – View the status of your workflows once they have been executed as specified in the specific workflow.

Bringing it all together

In this blog we explored the connection between industry standard frameworks and how we really work. We also discussed how SCSM allows you to bridge the gap between the frameworks and how we really work in our respective environment.

Finally we explored the Administration node of the SCSM console, providing a general explanation of the sub-nodes and their functions.

The detailed step by step guides for the SCSM can be found here . We will discuss other parts of the console in future blogs.

No responses yet

Asset Management with SCSM and SCCM -> SAFE with Provance -> The 80<->20 Story

May 22 2010

It is a known principle that 20% of challenges have an 80% negative impact on the business/technological Environment.

clip_image002

The converse is 20% of value add processes have an 80% positive impact on the business/technological environment.

clip_image004

In this blog we will be Stepping Away From the Environment (Thanks to my mate Andrew Craig)!!

We will look at the

- People side of Asset Management

- How System Center Configuration Manager addresses the technological challenges

- How the Provance Asset Management completes the story in System Center Service Manager

People side of Asset Management:

Asset Management begins and ends with people and ultimately can cost or add value to a business. I will step away from technology, and revisit my first job as a shop assistant; for this is where my first lesson in Asset management began; the Annual stock takes.

The dreaded stock take was the best opportunity for the shop to evaluate the stock levels and get the most accurate figure for its profit or loss on stock.

Damaged goods = financial offset for tax = lost revenue

Missing goods = lost revenue

Hidden goals = discounted sales = lost revenue = new people policies and procedures

With the introduction of technology (bar code readers for the life cycle of stock) and Just In Time stock ordering technology, the retail industry has minimized this loss. The dreaded stock take still goes on to validate the accuracy of the technology and provide visibility into goods missed by the technology tools.

The above retail story is the same challenge faced by the IT industry when it comes to true Asset Management.

System Center Configuration Manager’s role:

In my IT support and Consultancy journey I have often come across the myth that your CMDB and Asset Management challenges will be addressed with SCCM.

I agree partially and will add the statement that SCCM only plays a part in this process. Our IT assets have a life cycle

- They are born (ordered and received) – Financial Management 10% = People

- Grow up and may lose their way(Configured Networked and Managed) – Configuration Management (SCCM) 80% = Technology

- Go to technology paradise camp – Asset Disposal Processes and Financial management 10% = People

Provance and System Center Service Manager:

The most challenging part of true Asset Management is the 20% people part. The illustration below tells the story of how it all begins and ends with the Asset register. The technology part is the CMDB and the automation of the Asset Inventory processes using system management tools like System Center Configuration Manager to feed System Center Service Manager (Your new CMDB repository).

clip_image006

Here are four Reasons Why Asset Management is a Prerequisite for Creating a CMDB (Thank you to Peter Salfi from Provance for discussing and sharing your thoughts with me) .

­ The “dots” need to be identified before you start connecting them.  Build an Asset Registry first.  Focus on identifying and understanding “what” you have to work with before worrying about how they need to come together to form a service.

­ An IT Asset Management program allows you to maximize the use of what you have.  The appropriate mix of people, processes and technologies provides the necessary foundation for comprehensive and accurate asset information.  Once in place, the necessary relationships to define services that drive client-centric value and operational-centric efficiencies can be established.

­ Building a CMDB is a journey, not a destination.  Starting with a CMDB is impossible.  A fundamental core set of data that you can rely on is needed first.  Evolve from an Asset Registry to a CMDB.  Building a CMDB from scratch cannot be done easily, if at all.

­ Starting with Asset Management is the responsible thing to do.  Without a reliable starting point, building a CMDB will be time consuming, labour intensive and costly.  Establish a proper roadmap to assure your organization takes the right steps in the appropriate sequence to save on effort and expense.

· Microsoft is committed to including IT Asset Management capabilities as part of SCSM.

· Provance IT Asset Management Pack is the only native IT Asset Management solution Microsoft SCSM developed using the Service Manager common platform.

· Provance IT Asset Management Pack allows IT Asset Managers, Software Asset managers, IT Service Managers and IT Operations Managers in Organizations using SCSM to:

­ Take control of IT costs;

­ Improve IT Service management; and

­ Reduce security and compliance risks.

· Supporting ITIL, and the MOF 4.0, Provance IT Asset Management Pack strengthens the IT effectiveness of enterprises and government organizations at every level of the Microsoft Core IO model.  Provance IT Asset Management Pack accomplishes this by:

­ Being Native to SCSM;

­ Providing Software Asset Management;

­ Providing IT Asset Life Cycle management

­ Enhancing ITSM; and

­ Leveraging SCSM.

· Provance IT Asset Management Pack

­ Identifies overspending on unused software and compliance risks;

­ Allows contractual, organizational and financial details associated with IT assets to be viewed and managed within the System Center CMDB;

­ Improves decision support with supplemental costs, contract and organizational information.

· For Microsoft Solution Specialists and Technology Specialists, Provance IT Asset Management Pack fulfills customer demand for IT Asset Management and increases the competitiveness of Service Manager.

· For Solution Integrators and Partners of Microsoft Infrastructure solutions, Provance IT Asset Management increases the competitiveness of Microsoft System Center and creates additional engagements and consulting opportunities.

­ Solution Integrators, in working with Provance IT Asset Management Pack, can configure and customize it, using existing knowledge of Microsoft applications and technologies.

Remember you need the 20% of your people commitment and processes to deliver on the rest of the 80% true business value through Asset Management.

Visit the System Center Service Manager site http://www.microsoft.com/systemcenter/en/us/service-manager.aspx

Provance site

http://www.provance.com/

No responses yet

Up and Coming Events

May 11 2010

Microsoft Technology Briefing – 14th May 2010, The Grand Connaught Rooms, London – Break out session on System Center Service Manager (Sam Erskine)

http://www.trustmarquesolutions.com/News/Events/Microsoft-Technology-Briefing.aspx

June 24th 2010 – International Business Day – Northampton

http://www.ibd2010.co.uk/

http://www.ibd2010.co.uk/speakers.html

No responses yet

MMS 2010-> The European Volcanic route to Microsoft System Center Service Manager

Apr 29 2010

This year’s event promised to be the best of all MMS due to the number of product releases and the opportunity to experience delivery of the vision from MMS 2008.

In this blog I will share

  • How I finally made it to Las Vegas following the Volcanic eruption in Iceland
  • Service Manager 2010 updates and what it means to organizations

How I made it to Las Vegas:

  • Originally scheduled to fly out of London Heathrow Saturday 17th April
  • Flight cancelled – no way to leave the UK
  • Sunday Night caught the ferry to Dublin (Ireland) – All flights cancelled. Met our guide to Dublin on the train (Amy – thank you for all your assistance and yes we are still going to Vegas)
  • Monday news flash – Full schedule of flights announced for Tuesday
  • Tuesday – checked out of the Arlington Hotel (the one on Dame street)
  • All flights cancelled – checked back into the same hotel different room lower volcanic rate
  • Wednesday in our favourite coffee spot in Dublin – news flash flights available from London Heathrow
  • Secured flight for Las Vegas on British Airways – scheduled for Thursday to Las Vegas (gets to Las Vegas for 18:50 local – I might make the closing party)
  • Back on the ferry to the UK Wednesday night, scheduled to arrive in Holyhead (technically Wales) at 00:20 Thursday.
  • Quick detour via Worcester to freshen up for the flight. Train to Paddington and then Heathrow
  • Made the Party in Vegas with an extra bonus!!!
  • Checked into Bob Muglia’s suite at the Palazzo for one night – What a view!! (49th floor this room rocks thank you Stephanie!!!)
  • Now time for some geek stuff — Something about this Service Manager thing…..

      image image image image image

Service Manager Updates:

My number one objective for this year’s MMS 2010 was to attend Service Manager Deep Dive session on April 23rd.

The latest entry in the System Center suite, System Center Service Manager 2010 , went RTM on 23rd April 2010. I believe Service Manager delivers on the service enabled, process led and user focused story of the dynamic IT initiative. As a platform for integration, organizations with investments in Active Directory, SCCM and or Operations Manager gain an immediate business benefit by leveraging the configuration items provided by these investments to create a unified view of these investments.

 

Key takeaways from the Service Manager session

  • Step away from the tools – Focus on getting the organizations processes aligned to ITIL and MOF
  • Know your IT Service Management Goals
  • Organization wide coverage – Requires buy in from all stakeholders including your prime customers – End users
  • Business driven approach to implementation – “this is an enabling technology not a process creator/enforcer”

I am playing catch up with the sessions delivered during the week of MMS due to the Volcanic eruption. I fulfilled my goal of attending MMS this year; well I made the after party.

The Service Manager Deep dive session was worth the trip and I believe it is not about arriving at the destination but how well you travel. The Service Manager journey has began!!!

 

 

 

 

4 responses so far

Microsoft System Center Service Manager takes the Berlin Wall Down Again!!

Nov 11 2009

20 years after the historical event, the breakdown of the Berlin wall dividing East and West , I sit in the lounge of a hotel writing this blog.

Now you may ask what does this have to do with System Center Service Manager (SCSM)?

To answer the question I will give links to the System Center Suite of products where you get detailed information. I will then cover the divide between the products (our Berlin wall) and finally tell you a little bit about SCSM.

The suite is at the time of writing made up of the following

System Center Configuration Manager Product Information

System Center Operations Manager Product Information

System Center Data Protection Manager Product Information

System Center virtual Machine Manager Product Information

The products in the suite individually serve a number of business challenges and help to drive the integration of IT with the business. The overall goal is to turn the suite into a strategic IT asset, drive down business costs, compliment and, enable business IT maturity.

A challenge for implementers and the business who have invested in the suite is the question of integration. The products are loosely technically integrated, fully integrated by brand name and, by a number of licensing models.

Full technical and business process integration requires customization either by in-house expertise or outsourced expertise (products/people).

SCSM addresses the integration challenge of the suite and I believe would be a key enabler to businesses driving to make IT a strategic asset/business differentiator.

SCSM overview:

SCSM is a platform not a product, it provides the integration point for the rest of the suite, enables extensions from partners and drives the automation of business processes.

clip_image002

clip_image004

This is the link to the SCSM site for an extensive overview and resourceshttp://www.microsoft.com/systemcenter/en/us/service-manager.aspx.

Below are example of integrations and business value derived from the SCSM platform.

Example 1: Configuration Manager and Active Directory

clip_image006

Example 2: Configuration Manager, Operations Manager and Active Directory

clip_image008

The Future

At the beginning of this article I talked about history in order to share the vision of the future. I spent 2 great days at the TAP customer event in Berlin and saw firsthand the direction and commitment by the product team to deliver a future best in breed product to meet a very real and relevant business need. I believe SCSM will shift the paradigm of the traditional service desk tools/products in the market now and shape the future of how we view our service desk.

SCSM beta 2 is available to the public now and is scheduled to go RTM in the first half of 2010.

Try SCSM and look out for more blog articles on implementation tips and best practises from myself and Jannes Alink SCCM MVP (a great friend and colleague)

No responses yet

Exclusive System Center Event – Free and Great Value at a Cool Venue

Oct 29 2009

A day long System Center event taking place on the HMS Belfast on Friday the 6th of November, jointly presented by Inframon & WMUG. The event has got world class Microsoft speakers direct from the product team on their way to TechEd:

1. Ryan O’Hara – VP System Center Group, Microsoft

2. Nigel Cain – Senior Program Manager, Virtualization/System Center Service Manager, Microsoft

3. Jason Buffington – Senior Program Manager, DPM, Microsoft

4. Wally Mead – Senior Program Manager, ConfigMgr, Microsoft

This event has got something for everyone from technical decision makers to business decision makers.

Sessions Include:

* Keynote with Ryan O’Hara – VP System Center

* Intelligent Application Protection with Jason Buffington

* Service Manager with Nigel Cain and Sam Erskine

* Wally Mead does ConfigMgr – All day!

* Keeping your CIO Happy, the art of executive scorecarding with Gordon McKenna (MVP)

* Managing Risk, Governance and Compliance with SecureVantage

* Managing Non-Windows Platform with Bridgeways

* Drive down the cost of Siebel CRM/Oracle BI and Citrix with System Center Operations Manager with Hermes Softlab

* Microsoft Virtualization, The Facts

For more details and registration please visit:

http://waroncost.eventbrite.com

No responses yet

SCCM Installation/Deployment -> Easy as A B C D – What! no screen shots?

Jul 10 2009

You have the DVD and a project deadline now where do you start?

The aim of this article is to provide a general process for deploying a new SCCM site. This process can also be applied to an upgrade (I always view upgrades as an opportunity to improve, so much the same as a new site).

This is a supplement to the extensive resources available and as a result, does not aim to repeat the online documentation and training material available. I will place links to other resources I found useful in, planning and successfully deploying SCCM sites.

We will first cover the tasks to consider and perform before you start the installation (do this before clicking setup.exe and Next Next …..)

Active Directory Tasks

Schema Extension and AD publishing security rights for your site:

This process is recommended if you are deploying SCCM to an Active Directory environment. Ensure you engage with the department/team that owns Active directory schema extension as early as possible. Typically schema extensions require careful planning and have wider implications outside SCCM deployments.

The detailed steps are covered in the online documentation (How to Extend the Active Directory Schema Using ExtADSch.exe). A summary of what is required is:

  • Run the schema extension utility from the installation media – Requires a user with schema admin rights
  • Use ADSIEDIT.MSC (available from the Operating System support files) to create the System Management container under the target domain partition that the SCCM site would be installed in.
  • Create a group for the site server computers that would host the provider role (e.g. DomainX\SCCM Site provider servers).
  • Grant the new group rights to the System Management container and all its child objects. A group is recommended for easy of administration and will mean that, new site servers only need to be added to the group to complete future delegation.
  • Note that if you are using groups as described above a reboot of the site server would be required to complete the group membership process.
  • I would also recommend creating a separate group for site system servers (e.g. SUP servers, Distribution point servers). This would give you better flexibility in configuring security at the operating system level

The above would prevent one of the more common AD publishing errors seen in SCCM post site install. This would also impact your client deployments as correct registration of SCCM objects in AD aids in the site discovery and assignment process.

Boundary – Site Scope Tasks

One of the critical areas of your SCCM site is the configuration of site boundaries. Site boundaries basically tell your clients whether they belong to your site or not from the network layer. It is critical that you work with your network team to understand how subnets are assigned to your clients.

Failing to plan and configure site boundaries properly would impact your client deployment (discovery and assignment post installation). Though AD sites can be used, I would only recommend its use in the following scenarios:

  • The AD sites are configured to support SCCM (e.g. remote offices have dedicated AD sites)
  • The SCCM admin is aware of changes to AD sites or is the same person making the changes (In this case a process can be setup to keep SCCM in sync with any changes)

Our experience shows that using Subnets gives the SCCM admin more control and is a better practice. In some cases your SCCM site may span multiple domains and also include DMZ clients/workgroup clients.

Before installing your sites, get a list of all the subnets in use for all clients within the scope of deployment.

  • Work with your network admin team – they have better insights into VLAN configurations etc
  • Check with the DHCP admin – This would give you a logical view of your IP network configuration
  • Remember that the clients subnet mask plays a critical role in which subnet the client actually belongs to (evaluation is done on the client side not your SCCM site)
  • Use the description field in SCCM boundaries to document boundary information.

Using subnets takes a bit of time to setup but will save you a lot of pain in the long run.

Create Groups – Security Tasks

I am in favour of careful planning to reduce the amount of times I have to repeat a task. One of the big challenges in SCCM is role based security out of the box. I know this is coming in SCCM Vnext (saw the demo at MMS 2009). In the meantime here is the budget version of how to achieve a form of role based security.

  • Create AD groups in advance for the roles of the users who would access your SCCM console.
Example Groups Description
DomainX\SCCM Global Admins Full access to the SCCM site
DomainX\SCCM Full Admins Full admin rights except site settings – Boundaries etc
DomainX\SCCM Report Viewers Permissions to only view reports
DomainX\SCCM Report Admins Permissions to create Reports
DomainX\SCCM SUM Admins Software update permissions only
  • The first task you should perform after the installation is, copy the rights of the user who installed the site. In my scenario, I use the SCCM Global Admins group.
  • Take time to configure the permissions for the other groups which you create to reflect the roles of users accessing the console (Takes time, however this should be a one off exercise)
  • Setup a process to add users to the groups as and when access is required.
  • Get yourself a coffee/tea or cold drink.

Deployment steps – No screen shots

This section provides high level steps to follow and should act as a to do list in your SCCM deployment.

Central Site – Reporting only

This is deploying a site that would act as a repository/roll up site for your hierarchy (the old Central site concept from SMS 2003)

  • Install SCCM
  • Remove the management point role
  • Enable and configure the reporting point and or SRS reporting point roles
  • Configure Object security permissions

Primary (Deployment) Site – Clients assigned

  • Install SCCM
  • Configure SCCM Object permissions
  • Configure the following properties – Tasks, alerts and status systems (maintenance tasks)
  • Configure site boundaries
  • Prepare Site Systems – Operating system installation of roles like Distribution points etc
  • Assign site system roles – SCCM site configuration
  • Configure site communications – for environments where you have a hierarchy of SCCM sites (Senders etc)
  • Attach sites – Doing this in advance would reduce network traffic associated with site attachments
  • Enable resource discovery (AD discovery methods, network discovery etc) and client installation methods (configure accounts to be used for push installations etc)
  • Enable SCCM features one at a time; start with inventory

Useful links:

Infrastructure Planning and Design Guides

Configuration Manager Documentation Library

No responses yet

SMS2003 to SCCM Agent Migration –> Why Should I pimp My Old Agent

Apr 01 2009

Introduction

I am a great fan of the program “pimp my ride”. This is a TV program where the producers take an old car and upgrade/rebuild it to a luxury standard car with a few “extras”.

Now you may ask what does this have to do with SMS 2003 to SCCM agent migration? The answer is, this is similar in my view to what you do when you perform an in-place upgrade on the agent.

In this article I explain and expand on an approach and process to get a new luxury agent without using the “pimp my ride” approach (a.k.a in-place upgrade). NB I know on good authority that a lot of work was put into the in-place upgrade and it works. This is just an approach that looks at the alternative method of addressing the same task. We also build on the software distribution approach to the agent upgrade.

The prescribed approach is based on the notion that why upgrade your old car with parts from a new car, when you can scrape the old one and just use the new one as is?

Background

In this process we assume you already have an SMS 2003 infrastructure with SMS 2003 agents deployed. We also assume you have a new installation of an SCCM site. The process focuses on using software distribution to upgrade the SMS 2003 agent to an SCCM agent in a side by side migration scenario.

Summary of process

  1. Create a source folder for the upgrade files
  2. Create a software distribution package to copy the source files to a local directory on all clients
  3. Create a software distribution advertisement which initiates the upgrade process
  4. The upgrade process cleanly removes the old agent including the certificates, then initiates a new installation of the SCCM agent. The agent is also assigned to the new SCCM site in the process.

Detailed steps

Required Software and Utilities:

  • Client installation files from the SCCM site (to reduce size remove non required language files from the pre-requisite files) -\\%SiteServerName%\SMS_%sitecode%\Client
  • The following from the SMS2003 Toolkit – ccmclean.exe and delcert.exe
  • Custom batch file to uninstall SMS2003 (includes old cert deletion) and install SCCM client – (See sample script)

SCCM Site prerequisites:

  • Create site boundaries – subnets recommended
  • Set site to manual approval of clients
  • Set site to only accept SCCM clients

image

SMS2003 Site prerequisites:

  • Create Copy Source Package and Programimage
  • Create a package source folder (e.g., SMS-SCCM-Migrate) with a subfolder called sources
  • Copy the required upgrade files to the sources subfolder (including CCCMClean and Delcert) and place the script in the root folder
  • Program command line %systemroot%\system32\cscript.exe copySources.vbs – CopySources.vbs is a custom script written by Joe Erskine

See end of article for Script

    You need to modify the parameters in the batch file (e.g., your MP FQDN etc)
  • The migration process does not return a program successfully run under the SMS2003 site. Confirmation of success is when the client reports into the SCCM site for approval.
  • Use the fallback status point reports to track status of installation.

image

This approach has an additional benefit in that your agent health can be validated by the initial software distribution to copy the source file to the client.

Copy Sources:

‘==========================================================================

‘ VBScript Source File

‘ NAME:  copySources.vbs

‘ AUTHOR: Joe Erskine


‘ DATE:  18/07/2006

‘ VERSION: 1.0

‘ COMMENT: SMS script to copy sources files. Set path for destination in strTargetPath and place
‘  fiels/folders to be copied to location in a sub-folder called SOURCE in the package source directory
‘  E.g. If package source is C:\Test, place this script in C:\Test and files/folders to transfer in C:\Test\Source

‘ USAGE: cscript copySources.vbs

‘==============
‘Version Control
‘===============

‘Ver #:
‘Modified By:
‘Date Modified:
‘Details:
‘===================
‘End Version Control
‘===================
‘==========================================================================

Option Explicit
On Error Resume Next

‘======================
‘User Defined Variables
‘======================

Dim strTargetPath ’<- Path to copy files/folders to, Created if it doesn’t exist
Dim strWinDir  ’<- Windows Installation Directory

‘Get the Windows Installation Directory path
strWinDir = fGetWindowsDirectory()

‘<- If you need to copy to Windows directory then use:
‘ strTargetPath = strWindir & “Your Path Here”
‘ E.g. strTargetPath = strWindir & “\System32\MyFiles”

strTargetPath = “C:\Install\SMS-SCCM-Migrate\”
‘==============
‘Global Objects
‘==============

Dim objFS
Dim objItem
Dim objFolder
Dim objShell
Dim objNetwork
Dim colItems
Dim strScriptPath
Dim strCacheRoot
Dim strSource
Dim intError : intError = 0
Dim strComment

Const FOR_READING = 1
Const FOR_WRITING = 2
Const FOR_APPENDING = 8
Const CMD_MINIMIZED = 2
Const CMD_WAIT = True
Const OVERWRITE_EXISTING = True

‘=====
‘START
‘=====

strScriptPath = Left(WScript.ScriptFullName,_
Len(WScript.ScriptFullName) – Len(WScript.ScriptName))
strSource = strScriptPath & “Source”
strCacheRoot = Left(strScriptPath,(Len(strScriptPath)) – 1)

strComment = “SMS Source Files Transfer Script” & vbNewLine
strComment = strComment _
& “************************************************************” & vbNewLine
strComment = strComment & “Start Time:” & vbTab & Now & vbNewLine
strComment = strComment & “Source Folder:” & vbTab & strSource & vbNewLine
strComment = strComment & “Target Folder:” & vbTab & strTargetPath & vbNewLine
strComment = strComment _
& “************************************************************” & vbNewLine

Set objFS = CreateObject(“Scripting.FileSystemObject”)
Set objShell = CreateObject(“WScript.Shell”)
Set objNetwork = CreateObject(“WScript.Network”)

If objFs.FileExists(WScript.ScriptFullName) Then objFs.DeleteFile(WScript.ScriptFullName)

WScript.Echo strScriptPath
WScript.Echo strCacheRoot

If Len(strTargetPath) > 0 Then
If objFS.FolderExists(strTargetPath) Then
Else
‘Target folder doesn’t exists so create it
strComment = strComment & “Creating Folder:” & vbTab & strTargetPath & vbNewLine
objShell.Run “%comspec% /c MD ” & “”"” & strTargetPath & “”"”,CMD_MINIMIZED,CMD_WAIT
WScript.Sleep 2000
If Not objFS.FolderExists(strTargetPath) Then
intError = intError + 1
strComment = strComment & “ERROR: Unable to create target folder -> ” & strTargetPath & vbNewLine
End If
End If

If intError = 0 Then
If Right(strTargetPath,1) = “\” Then
Else
strTargetPath = strTargetPath & “\”
End If

Set objFolder = objFS.GetFolder(strSource)
For Each objItem In objFolder.Files
If objFS.FileExists(strTargetPath & “\” & objItem.Name) Then
strComment = strComment & “ERROR: Target file already exists -> ” _
& strTargetPath & “\” & objItem.Name & vbNewLine
strComment = strComment & vbTab & “- Skipping move operation” & vbNewLine
Else
strComment = strComment & “Moving -> ” _
& objItem.Path & vbNewLine
WScript.Echo objItem.Path
Err.Clear
objFS.MoveFile objItem.Path,strTargetPath
If Err <> 0 Then
strComment = strComment & vbTab _
& “  – ERROR: ” & Err.Number & Err.Descripton & vbNewLine
intError = intError + 1
End If
End If
Next

For Each objItem In objFolder.SubFolders
If objFS.FolderExists(strTargetPath & “\” & objItem.Name) Then
strComment = strComment & “ERROR: Target folder already exists -> ” _
& strTargetPath & “\” & objItem.Name & vbNewLine
strComment = strComment & vbTab & “- Deleting target folder” & vbNewLine
objFS.DeleteFolder(strTargetPath & “\” & objItem.Name)
Else
strComment = strComment & “Moving -> ” _
& objItem.Path & vbNewLine
WScript.Echo objItem.Path
Err.Clear
objFS.MoveFolder objItem.Path,strTargetPath
If Err <> 0 Then
strComment = strComment & vbTab _
& “  – ERROR: ” & Err.Number & Err.Descripton & vbNewLine
intError = intError + 1
End If
End If
Next
Set objFolder = Nothing
Else
intError = intError + 1
End If
Else
strComment = strComment & “ERROR:” & vbTab _
& “No Target path specified” & vbNewLine
End If

strComment = strComment _
& “************************************************************” & vbNewLine
strComment = strComment & “Exit Code:” & vbTab & intError & vbNewLine
strComment = strComment & “************************************************************”

Call fLogEvent(strComment)

Set objShell = Nothing
Set objFS = Nothing
Set objNetwork = Nothing

WScript.Quit(intError)

‘===
‘END
‘===

‘==========
‘Functions
‘=========

‘******************************************************************************
‘* Name:  fLogEvent(strventInfo)
‘* Function: Write Script run time log to the Application Event Log
‘******************************************************************************

Function fLogEvent(strEventInfo)
objShell.LogEvent 4,strEventInfo,”\\” & objNetwork.ComputerName
End Function
‘******************************************************************************
‘* Name:  fGetWindowsDirectory()
‘* Function: Returns a string with the Windows Installation directory
‘******************************************************************************

Function fGetWindowsDirectory()
Dim colItems
Dim objItem
Dim objWMIService
Dim strValue

Set objWMIService = GetObject(“winmgmts:” _
& “{impersonationLevel=impersonate}!\\.\root\cimv2″)

Set colItems = objWMIService.ExecQuery(“Select * From Win32_OperatingSystem”)

For Each objItem in colItems
strValue = objItem.WindowsDirectory
Next

Set objWMIService = Nothing

fGetWindowsDirectory = strValue
End Function

No responses yet

SMS and SCCM Patch management –> An automated security update rollback process

Mar 01 2009

Introduction

SMS and SCCM give us the ability to build a process for full automated patch deployment. A healthy site with healthy clients generally leads to a “smooth” automated patch deployment process.

One of the first challenges I faced as an SMS/SCCM administrator, was answering the change management question “what is the rollback process for patch deployment?”  The only answer available is manual rollback (all hands on deck). This presents a major challenge if you do not have resources readily available during an emergency rollback scenario. Why not use your automated patch deployment tool to address this challenge.

In this article, I provide a method for rolling back security patches in line with Microsoft best practices. This process only applies to patches deployed to windows server 2003, Windows XP and below operating systems. I am working on updating the process for Vista and Windows Server 2008.

Background to process

This link provides the background to this rollback process Removing Windows software updates in the wrong order may cause the operating system to stop functioning.

The recommend method for rolling back patches is to remove patches in the reverse order of installation. This recommendation is based on the fact that most patches update the same DLLs etc. So in a scenario where 3 patches update the same DLL,

  • Install Patch 1 (DLL updated to V1 backup original DLL for rollback)
  • Install Patch 2 (DLL updated to V2 backup V1 DLL for rollback)
  • Install Patch 3 (DLL updated to V3 backup V2 DLL for rollback)

Removing patch 2 will return the DLL to V1 and lose the update made by patch 3. So how do we keep the system consistent and not lose other updates? . The answer is to rollback all patches and redeploy without the unwanted patch(es). Another challenge is, can this be automated?

In order to achieve the above, we first need to establish the original order of deployment and create an automated rollback deployment using SMS/SCCM software distribution.

Summary of process

  1. Query the client for all patches deployed and list by installation date time order.
  2. All patches for the latest date listed to be removed (in general deployments would be for same day and not across multiple days)
  3. Run spuninst.exe for the patch(es) to remove in the reverse order from the %SystemRoot%\$NtUninstall[KBArticleNumber]$\
  4. Steps 1 to 3 achieved with a VB script delivered as a standard software distribution package advertisement
  5. Initiate rollback by advertising to SMS/SCCM clients in scope using a collection

Script and Sample Screenshots

The script supplied is set to log only mode (need to change the test mode parameter to 1 for it to be in live mode). Both modes would create a hotfixundo.log file on the C:\ drive. Script kindly written by Gavin Woodall.

Copy the script to notepad and save as hotfix_undo_Live.vbs (or to any preferred name). In my case I have a package called Patch Rollback – Live. The Data Source is a package directory called Patch_Rollback (store the vbs script here and reference during package creation)

image image

Create a program for the package using the following command line : cscript %scriptname% (in my case %scriptname% = Hotfix_undo_live.vbs). Ensure that the program is set to run whether or not a user is logged on for non interactive deployments/advertisements.

image image

Create an advertisement for the package. Do not leave on a recurring schedule!!! – This would remove all patches from the targeted clients.

image

SMS 2003 Process: After each rollback create a new program (by default you will not be able to use the same program again if it has successfully run on a client). I create a new program every month just to be sure.

SCCM Process note: SCCM overcomes the SMS 2003 limitation because programs can be rerun even when successful

image

Copy Below to notepad and save as hotfix_undo_live.vbs (change testmode to 0 to make live)

‘ Script to enumerate last applied hotfixes, and rollback

on error resume next
const forappending = 8
const forwriting=2
const forreading=1
Const dictKey  = 1
Const dictItem = 2

‘ **********set to 0 to get out of testmode**********
testmode=1
‘ ***************************************************

Logpath=”C:\hotfixundo.log”

Set fso = createObject(“Scripting.FileSystemObject”)
set windir=fso.GetSpecialFolder(0)
call stamplog(“*************************************************************”)
call stamplog(“Starting process, windows directory is “&windir.path)

lastdate=”"
‘ enumerate subfolders, check date.
For Each Subfolder in windir.SubFolders
if instr(lcase(subfolder.name),”$ntuninstall”)<>0 then
if lastdate=”" then
lastdate=subfolder.datecreated
end if
if datediff(“d”,lastdate,subfolder.datecreated)>1 then
lastdate=subfolder.datecreated
end if
end if
Next

call stamplog(“Latest date found for uninstall folder is “&lastdate)
‘ loop again, creating a list of directories to be targeted.

set list = CreateObject(“Scripting.Dictionary”)

call stamplog (“Processing the following directories:”)
For Each Subfolder in windir.SubFolders
if instr(lcase(subfolder.name),”$ntuninstall”)<>0 then
if datediff(“d”,lastdate,subfolder.datecreated)<1 and datediff(“d”,lastdate,subfolder.datecreated)>=0 then
list.add subfolder.datecreated,subfolder.path
call stamplog(subfolder.path)
end if
end if
Next

‘ sort dictionary
sortdictionary list,dictkey

‘ loop through list, shell out to run spuninst for each directory, last first
for each location in list
call stamplog(“Launching “& list.item(location)&”\spuninst\spuninst.exe”)
err.clear
if testmode=0 then
run list.item(location)&”\spuninst\spuninst.exe /quiet /passive /norestart”
else
call stamplog(“***TESTMODE – Uninstall NOT run***”)
end if
next
call stamplog(“Finished at “&date&” “&time)

‘ Stamp line of text to specified logfile
sub stamplog(text)
Set objFSO = CreateObject(“Scripting.FileSystemObject”)
Set objTextFile = objFSO.OpenTextFile _
(logpath, Forappending, True)
objtextfile.writeline(text)
wscript.echo (text)
objTextFile.Close
end sub

‘ Run function
Function Run (ByVal cmd)
Dim sh: Set sh = CreateObject(“WScript.Shell”)
Dim wsx: Set wsx = Sh.Exec(cmd)
If wsx.ProcessID = 0 And wsx.Status = 1 Then
‘ (The Win98 version of VBScript does not detect WshShell.Exec errors)
Err.Raise vbObjectError,,”WshShell.Exec failed.”
End If
Do
Dim Status: Status = wsx.Status
WScript.StdOut.Write wsx.StdOut.ReadAll()
WScript.StdErr.Write wsx.StdErr.ReadAll()
If Status <> 0 Then Exit Do
WScript.Sleep 10
Loop
Run = wsx.ExitCode
End Function

‘ Runs an internal command interpreter command.
Function RunCmd (ByVal cmd)
RunCmd = Run(“%ComSpec% /c ” & cmd)
End Function

‘ Sort function
Function SortDictionary(objDict,intSort)
‘ declare our variables
Dim strDict()
Dim objKey
Dim strKey,strItem
Dim X,Y,Z

‘ get the dictionary count
Z = objDict.Count

‘ we need more than one item to warrant sorting
If Z > 1 Then
‘ create an array to store dictionary information
ReDim strDict(Z,2)
X = 0
‘ populate the string array
For Each objKey In objDict
strDict(X,dictKey)  = CStr(objKey)
strDict(X,dictItem) = CStr(objDict(objKey))
X = X + 1
Next

‘ perform a a shell sort of the string array
For X = 0 to (Z – 2)
For Y = X to (Z – 1)
If StrComp(strDict(X,intSort),strDict(Y,intSort),vbTextCompare) > 0 Then
strKey  = strDict(X,dictKey)
strItem = strDict(X,dictItem)
strDict(X,dictKey)  = strDict(Y,dictKey)
strDict(X,dictItem) = strDict(Y,dictItem)
strDict(Y,dictKey)  = strKey
strDict(Y,dictItem) = strItem
End If
Next
Next

‘ erase the contents of the dictionary object
objDict.RemoveAll

‘ repopulate the dictionary with the sorted information
For x=(z-1) to 0 step -1
‘    For X = 0 to (Z – 1)
objDict.Add strDict(X,dictKey), strDict(X,dictItem)
Next

End If

End Function

Additional Notes:

Every security update has a Removal information section listed under Security Update Deployment. So for MS09-001 you would find below for the XP operating systemhttp://www.microsoft.com/technet/security/Bulletin/MS09-001.mspx

Removal Information

Use Add or Remove Programs tool in Control Panel or the Spuninst.exe utility located in the %Windir%\$NTUninstallKB958687$\Spuninst folder

No responses yet

ITMU to SCCM Patch management –> A process approach

Feb 25 2009

Introduction

Having worked extensively with ITMU in SMS 2003 for datacenter patch management of servers, I welcomed the new architecture promised for SCCM.

If you are using ITMU now and are new to SCCM here is a high level summary of the patch management components:

  • SCCM Clients are scanned using the clients Windows Update Agent (WUA)
  • WSUS used as the scan catalog known as a SUP (basically WSUS dedicated to SCCM and no more 5MB local catalog downloads to all clients)
  • Download and execute option now does a scan before and, only downloads required updates
  • Security updates are categorized as in native WSUS and now have the ability to deploy non security updates including service packs.
  • Status of patch deployment is provided near real-time (well every 15 minutes by default) by state messages; no longer uses advertisement reports and hardware inventory . I have an earlier blog that shows you how you can get basic information collected using hardware inventory.

Below is a link to a very good whitepaper providing extensive details.

Configuration Manager Software Updates Management Guidance – Migration from ITMU.doc

My aim in this article (blog) is to give you a field view of what it means to translate these changes into existing processes. In a nutshell going from reading about it to using it.

SCCM SUM Reduces Wizard Screens?

A statement I have read many times about SCCM is, it reduces the old ITMU wizard screens from 18 to about 7. I disagree and will quantify it with, only if you use the power and flexibility of the templates under deployment management.

If you are like me, the first thing you do with a new version of a product is to make it work like the old one (how many people turned the WK3 interface into W2K?).

My attempt at an ITMU to SCCM translator below should hopefully ease some of your pain.

ITMU to SCCM translator

SMS 2003 ITMU SCCM Software Updates Management (SUM)
ITMU Scan Tool Software updates scan agent
Recurring ITMU Scan Tool Advertisement Software updates scan agent schedule – WUA scan using SUP (SCCM dedicated WSUS)
Advertisements Deployments
Packages (one to one relationship with selected patches) Deployment Packages (selected patches not linked to one package; will search all packages on the DP and download from any package)
Advertisement Start time Deployment Deadline
Expiring Advertisements Use maintenance window on targeted collection with Recurrence set to None. TIP:
Advertisement Start Time = Deployment Deadline = Maintenance Windows start.
Expiry time = Maintenance Window End

Useful and New to SCCM

Now lets take a closer look at the SUM components and sample patch management process.

Summary of the steps for a sample process:

  1. Create a search folder to group security updates
  2. Create an empty collection with no members (to be used for the deployment templates)
  3. Create a deployment template (I create two; 1 for Patch Only and 1 for Patch with Reboot)
  4. Create a folder for storing the source files for packages
  5. Create an update list (e.g. Select required patches for your deployment), specify download updates to create the package.
  6. Drag the update list onto the deployment template to create the deployment (Deployment type will be determined by the template in this case)
  7. Create a maintenance window for the collection to be targeted
  8. Modify the Deployment by changing the collection specified (inherited from the template) and also the deadline date and time.

Detailed steps:

Update Repository: this is where the software updates are displayed and categorized. Shows all software updates depending on what you have selected under the SUP (WSUS) configuration.

image

  • Search Folders: allow you to group software updates logically for ease of selection when creating deployment packages. In my example I have a master search folder for all Security patches and one folder for every year from 2003 – 2009. Use a search criteria on Bulletin ID using % so for 2009 would be MS09%

imageimage

  • Create an empty collection: I am a great fun of place holder collections. I use them as a safety check before targeting the real collections. In this case I created a collection called   image with no members (safe to ignore the warning).
  • Create deployment templates: Now this is where the wizard pages reduction takes place. Right click the deployment templates node and select new deployment template. Once created, using the template significantly reduces the number of wizard screens. I created two, one with suppressed reboots and, the other without.

imageimage

image image

image image

  • Create a package source folder: I typically create top level folder for all packages and then sub-folders for categories of packages. In this example process we will use a subfolder called “Security_Updates”

image

  • Create an update list: Using the “All Security updates” search folder as an example select the security updates required for the SUM package. Selection is now much better as you can use the shift key, and the control key, to block select security updates.

image image

Select download updates during the creation of the update list. You can create a new package or select an existing page. NB be sure to specify a new subdirectory as part of the UNC to the package directory. If you do not specify a subdirectory all updates are placed in the root folder (near impossible to tidy up when you delete a package)

image

image image

  • Create a deployment (replaces advertisements in the ITMU deployment process):Drag and drop the update list onto a deployment template. In this example we use the patch only template. Notice that the collection used is the place holder we created and selected for our template. In addition the suppress restart and any other general properties are inherited from the template. This is the magic of the wizard reduction I mentioned. Modify the settings to required deployment deadline and target collection

image image

Monitor the deployment using the new Software Updates category reports.

No responses yet

Security Updates rollup to a central site without a Software Update Point (SUP) Part II

Feb 24 2009

Creating a view for your Reports

The SMSDEF.MOF file update creates the following tables Software_Updates_V4_Data and Software_Updates_V4_HIST. The following SQL script can be used to create a custom SQL view for reports. I have included the computer names from V_R_System and the site code from v_RA_System_SMSInstalledSites

Make sure you change the database name to your Config Manager database name before using. Also the name of the view can be edited to suit you own naming convention.

USE [SMS_XXX]
GO
/****** Object:  View [dbo].[V_Custom_Update_Status]    Script Date: 10/20/2007 17:06:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE VIEW [dbo].[V_Custom_Update_Status]
AS
SELECT DISTINCT
TOP (100) PERCENT  dbo.v_R_System.ResourceID, dbo.v_R_System.Netbios_Name0 AS ClientName, dbo.v_RA_System_SMSInstalledSites.SMS_Installed_Sites0 AS Site_Code,
dbo.Software_Updates_v4_DATA.Article00 AS KB_Number, dbo.Software_Updates_v4_DATA.Bulletin00 AS Bulletin_ID,
dbo.Software_Updates_v4_DATA.ScanTime00 AS Scan_Date_Time, dbo.Software_Updates_v4_DATA.Status00 AS Update_Status,
dbo.v_R_System.Operating_System_Name_and0 AS OS, dbo.Software_Updates_v4_DATA.Title00 AS Update_Title
FROM         dbo.v_R_System INNER JOIN
dbo.Software_Updates_v4_DATA ON dbo.v_R_System.ResourceID = dbo.Software_Updates_v4_DATA.MachineID INNER JOIN
dbo.v_RA_System_SMSInstalledSites ON dbo.Software_Updates_v4_DATA.MachineID = dbo.v_RA_System_SMSInstalledSites.ResourceID
ORDER BY Bulletin_ID DESC

Granting Select Permissions on the custom View

The following roles Smsschm_users and webreport_approle need to be granted select permission on any custom views created. Without performing the permissions step, the reports will only work in SQL Server Management Studio.

clip_image002

Sample Report Query

The following is a sample query to create a summary report from the new view (make sure your edit the view name if you did not use the suggested name). Modify to suit your needs.

SELECT Bulletin_ID, KB_Number, OS,(100 * Installed /(Installed+Applicable)) AS ‘%Compliant’, Installed+Applicable AS Total
From (Select Bulletin_ID, OS, Update_Title AS BulletinInfo,
SUM(CASE WHEN Update_Status = ‘Installed’ THEN 1 ELSE 0 END)as ‘Installed’ ,
SUM(CASE WHEN Update_Status = ‘Missing’ THEN 1 ELSE 0 END) AS ‘Applicable’
from v_Custom_Update_Status
where Bulletin_ID like ‘MS08-%’AND OS LIKE ‘%Server%’
group by Bulletin_ID,OS,Update_title) AS ps
Order by Bulletin_ID DESC, OS

The report is filtered on all security updates for the year 2008 and by server operating systems only. Edit the filters to change the year and the operating system as needed.

No responses yet

Security Updates rollup to a central site without a Software Update Point (SUP)

Feb 23 2009

The release of System Center Configuration manager has seen a vast improvement in security update management. The improvements have introduced new ways of doing familiar tasks

No Security updates compliance at the parent site without a SUP:

Prior to Config Mgr 2007 software update compliance information propagated up the SMS hierarchy following a parent child connection. No additional configuration was required once the parent child relationship was established. Each child site could manage software updates with no dependency on components at the parent site. The new version of SMS has removed this functionality. In order for a parent site to receive software updates compliance information a new component setting has to be enabled (Software Updates Point –SUP). The new SUP role forms its own hierarchy where only the highest SUP in the hierarchy synchronises directly with the internet for new software updates availability. Child site SUPs will not be updated until the parent site SUP is updated.

The ability to use a central site for consolidated reporting is no longer possible without adding this additional layer in you Config Mgr design. Another challenge is the ease of creating summary reports on security update compliance. The new state message based reports though excellent will present challenges for seasoned SMS administrators tasked with creating management summary reports.

How to get compliance information at a parent reporting site without a SUP:

This is how to get summary security update status to your parent sites without creating a SUP hierarchy. The solution uses the hardware inventory process to collect summary security update information. This is basic security update information and ideal for creating your management reports. This does not remove the requirement for a SUP at the client’s assigned site.The status of an update is either installed or missing. The information also depends on the old time lag required to receive hardware inventory information from clients.

Steps are as follows:
Edit the SMS_DEF.MOF file and append the reporting class data at the end of this article
Stop sms_executive on parent site
Change sms_def.mof file in: %ConfigMgrInstallDir%\inboxes\clifiles.scr\hinv (Append the class CCM_UpdateStatus at the end of the file.)
Start sms_executive on the parent site
Repeat steps 2-4 for child site where the SUP is installed
Make sure policy is updated on clients assigned to child site
Run scan/install updates on the clients
Run HINV cycle on client (or wait for cycle to run per schedule)
Check dataldr.log on the child site, once HINV is received; Software_Updates_V4_DATA table is created in the database with all the info as per the class below.
Same table gets created on the parent site’s database as well

NB: There is no need to compile the SMS_DEF.MOF as this is now done by the site server and clients updated through policy changes. Test this on a lab instance before applying to production sites.This has been tested on Config Mgr 2007 SP1. Append this to the SMS_DEF.MOF:
//————————————-

// SMS – Software Update Status

//————————————-

[SMS_Report(TRUE),

SMS_Group_Name("Software Updates v4"),

SMS_Class_ID("MICROSOFT|UPDATESTATUS|1.0"),

Namespace("\\\\\\\\.\\\\root\\\\ccm\\\\SoftwareUpdates\\\\UpdatesStore")]

class CCM_UpdateStatus : SMS_Class_Template
{

[SMS_Report(TRUE), Key]

string UniqueId;

[SMS_Report(TRUE)]

string Title;

[SMS_Report(TRUE)]

string Bulletin;

[SMS_Report(TRUE)]

string Article;

[SMS_Report(TRUE)]

string Language;

[SMS_Report(TRUE)]
string SourceUniqueId;

[SMS_Report(TRUE)]

DateTime ScanTime;

[SMS_Report(TRUE)]

uint32 SourceVersion;

[SMS_Report(TRUE)]

uint32 RevisionNumber;

[SMS_Report(TRUE)]

string Status;

[SMS_Report(FALSE)]
CCM_SourceStatus Sources[];

};

In my next article I will provide details of reports which can be created using data from this class, including an SQL view.

No responses yet