Windows IT Pro is the authoritative and independent resource for windows nt, windows 2000, windows 2003, windows xp. Features a collection of resources and magazines for windows IT professionals.
  
  
  Advanced Search 


July 2007

Scripting Eases an SMS Migration

Server specialist Stefan Suesser developed a toolkit to automate his firm's transition from SMS 2.0 to SMS 2003
RSS
Subscribe to Windows IT Pro | See More Migration Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!
Main Article    The 4 Pillars of System Center Configuration Manager

Stefan Suesser faced a potentially daunting challenge: As the server expert on his IT department's infrastructure design team, he had to craft a way to migrate his company from Microsoft Systems Management Server (SMS) 2.0 to SMS 2003, since no third-party SMS 2.0–SMS 2003 migration tools exist. Stefan works for Computacenter, a well-known European provider of IT infrastructure services. Its central IT department, located in Kerpen, Germany, supports around 220 servers in the data center (most running Windows Server 2003), in addition to servers at the branch offices. With so many servers, SMS migration wouldn't be a trivial affair. Fortunately, Stefan was well qualified to script a migration solution, having achieved 100 percent in the advanced categories of VBScript and Windows PowerShell at Microsoft's 2007 Scripting Games. In a recent conversation, Stefan explained to me the components of his solution and how it works.

Why did you decide to upgrade to SMS 2003?
Computacenter Germany introduced SMS 2.0 in 2001. Over the years, we [realized] the design of our SMS 2.0 implementation was less than optimal, so we came up with a plan to start from scratch, implement a new and simplified SMS 2003 infrastructure, and leverage new features such as Advanced Client, software update management, Active Directory (AD) integration, and protected distribution points. Software updates and patches were a major concern because Computacenter used a homegrown patch-installation mechanism that didn't scale to our needs; if we had stayed with SMS 2.0, a major redesign of the tool would have been necessary.

Computacenter has a number of SMS experts. We did the concept and planning for the new SMS 2003 infrastructure together with colleagues from Computacenter's consulting division, and central IT managed the implementation and migration by itself.

How much scripting experience did you have before coming up with this solution? Have you created other scripting solutions for your environment?
I have years of experience in programming and started using VBScript in 2000. Over the years, I've created a number of large and small scripting solutions. In 2000, when SMS 2.0 wasn't in place yet, I created a scripting solution leveraging Windows Management Instrumentation (WMI) that took hardware and software inventory on the clients and saved the results in an object-oriented database—we called this tool “SMS Light.” Then I created an offline patch-scanning and installation solution that Computacenter colleagues could download to update their clients while not connected to the corporate network. This tool is still maintained and currently supports Windows Vista, Windows XP, and Windows 2003.

How long did it take to develop the migration tool? How does it work?
The development of the migration toolkit, which consists of a number of files and scripts, took me about six weeks, including testing. When we started migrating the SMS content, our new SMS 2003 infrastructure was already in place—we had a newly installed and configured site server and distribution-point servers in all our larger branch offices, and AD discovery was configured so that all the domain users, groups, and computers were already in the SMS 2003 database.

First, I decided to use an XML file to store information about the SMS objects, obtained via Windows Management Instrumentation (WMI). To use the WMI namespace on the SMS site server, you have to connect to the \\root\SMS\site_xxx namespace, where xxx is the site code of your SMS implementation. You can then use all the available classes to read or manipulate SMS objects. We used VBScript scripts to connect to and manipulate objects in WMI, but you could use any tool that reads or writes to WMI, such as WMI CIM Studio. We used scripts that connect to the WMI namespace on the “old” SMS 2.0 server, connects to the relevant WMI class (for example, SMS_Collection to read information about SMS collections), then reads the relevant data and writes it into the XML file—collections, packages, programs, and advertisements together with attributes such as ID, descriptions, and so on. During the migration, scripts again connect to WMI on the new SMS 2003 server, read the needed information from the XML file, and use WMI generic methods such as SpawnInstance_ to create the new objects. This is where an XML file is handy because you can store the objects with their relationships better than you could with an Excel spreadsheet or something similar.

Then the manual work started. We had to decide which objects we wanted to keep and which could be deleted. The SMS database was filled with objects that were necessary in the past but were no longer needed; they just hadn’t been deleted after their use. In cases where we were unsure whether objects were needed, we migrated them to the new system. Additionally, little things such as “descriptions” or “comments” on the SMS objects were poorly maintained. Because some of this information is displayed to the user, we wanted relevant text on these attributes instead of blank spaces or meaningless entries. This is actually work that nobody else can take care of—neither a tool nor a consultant. You have to decide by yourself which objects are those you need and which you don’t need. This step wasn’t technically required for the migration, but we wanted to clean up the system.

The script that re-creates the collections on the new SMS 2003 server reads the information from the XML file to do its magic. It writes back the resource ID of the newly created collections into the XML file. After all collections are created, the script restores the original hierarchy of collections.

We actually did some modifications on the collections after we had read the information from the SMS 2.0 server, such as on membership rules. For example, our admins used direct-membership rules most of the time, meaning that users and/or groups were entered as collection members directly. The problem here is that the members are specified using their resource ID, the unique ID that represents an object in the SMS database. When you migrate as we did, these resource IDs will all change in the new SMS 2003 database, so that the old collection membership rules will be unusable. We scanned through the XML file to change all direct-membership rules to query-based rules, so that the membership is independent of any SMS 2.0 specific information. I want to stress that this was an important step and also one of the reasons why no commercial SMS [2.0 to 2003] migration tool is available. If you don’t change the direct-membership rules of the SMS collections, you can re-create them on the new system, but the actual members of the collection are unpredictable.

We used another script to export all packages and advertisements into Managed Object Format (MOF) files. MOF files are text files, so you can manipulate them and recompile them on the new SMS 2003 server to create these objects. When exporting packages and advertisements, we had to change some of the attributes that are specific to the old SMS site. For example, we had to out-comment the package ID (this is specific to the old SMS site and will be re-created on the SMS 2003 server).

We then used a script that leverages mofcomp.exe, the MOF compiler, on the new SMS 2003 site to add the packages into SMS. This script writes back the new package ID into the XML file. We had to update the advertisement MOF files with the new collection ID and package ID, information already stored in the XML file. After the script updated the MOF files, we again used mofcomp.exe to add the advertisements to SMS and wrote back the new advertisement ID into the XML file.

So far, the packages were created but not available on any of the new distribution-point servers. We created a script to distribute packages, in several flavors: It could distribute all packages to a given distribution point, just single ones to all distribution points, or single packages to a single distribution point server. And, as one of the last steps, we had to change the download behavior of the advertisements so that clients remote to the distribution point would download and run the program. (The default setting is that SMS clients remote to the distribution point don’t run the program at all.)

These steps describe the migration tool set in general—there were other necessary steps that dive deeper into the SMS nuts and bolts. The entire migration requires you to perform one step after the other in the right order—for example, you have to create the packages first, then change the advertisement MOF files with the new package ID before you can create the advertisements.

How long did the migration take?
The migration took only about an hour in production! We tested the tool set several times in our lab, so we were pretty sure the migration would run smoothly. The script execution was pretty fast, and most of the time was needed to distribute the packages to the new distribution-point servers. Without the migration tool set, our administrators would have had to create all the SMS objects manually—with more than 1,000 objects, this would have been a long and error-prone process.

Are you planning to migrate to the next version of SMS, System Center Configuration Manager 2007?
Yes, we're currently evaluating Configuration Manager 2007. When performing an upgrade, we want to do an in-place upgrade and hopefully won't need to use the migration tool set. However, although I haven't tested it, I assume my tool set can be used with Configuration Manager 2007 because the WMI classes are still the same.

See Associated Figure

End of Article



Reader Comments

You must log on before posting a comment.

If you don't have a username & password, please register now.




Top Viewed ArticlesView all articles
CES 2009: Ballmer Announces Windows 7, Windows Live, Live Search Milestones

During his first-ever Consumer Electronics Show (CES) 2009 keynote address last night in Las Vegas, Microsoft CEO Steve Ballmer announced the pending public availability of a feature-complete Windows 7, the final version of Windows Live Essentials, and ...

10 Reasons Not to Deploy Windows Vista

The decision to upgrade to Vista has to make business sense, but many companies find the costs in training and application compatibility problems outweigh any benefits Vista brings. ...

10 Reasons to Deploy Windows Vista

The decision to upgrade your XP systems to Vista is simple when you consider features such as easier backup, a great desktop search, and vastly improved security options. ...


Related Events Managing Systems Efficiently in a Mid-Sized Business

Check out our list of Free Email Newsletters!

Scripting eBooks Keeping Your Business Safe from Attack: Encryption and Certificate Services

Best Practices for Managing Linux and UNIX Servers

Building an Effective Reporting System

Related Scripting Resources Become a VIP member of the Windows IT Pro community!
Get it all with the VIP CD and VIP access. A $500+ value for only $279!

Subscribe to Windows IT Pro!
Solve your toughest technical problems with our experts and access 10,000 + articles online. 30% off

Monthly Online Pass - Only $5.95!
Get instant access to 10,000+ articles from Windows IT Pro Magazine!

TechNet Virtual Labs
Evaluate and test Microsoft's newest products.


Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro Windows Dev Pro IT Job Hound ITTV
IT Library Technology Resource Directory Connected Home Windows Excavator Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 Copyright © 2009 Penton Media, Inc., All rights reserved. Terms and Use | Privacy Statement | Reprints and Licensing