External Authoring
Configuration items and baselines are stored in
the SML XML format. SML is an industry-standard language specification
that provides a rich method for modeling complex IT systems and
services—see http://technet.microsoft.com/en-us/manageability/bb738088.aspx
for in-depth coverage of SML, including the SML schema. Not all
criteria modeled in SML can actually be displayed or edited with the
built-in DCM toolset. However, because SML is the native language of
DCM, these criteria are still evaluated and reported on properly.
DCM Digest is another XML format that DCM can
use to define configuration items and baselines. DCM Digest is a
Microsoft-proprietary modeling language that is dedicated to DCM;
complete details of DCM Digest, including the schema, are available in
the “DesiredConfigurationManagement_DigestAuthoring.doc” Microsoft Word
document in the ConfigMgr SDK (downloadable from http://www.microsoft.com/downloads/details.aspx?FamilyId=064A995F-EF13-4200-81AD-E3AF6218EDCC&displaylang=en%20; you can also find the SDK by searching for ConfigMgr 2007 SDK at www.microsoft.com/downloads). ConfigMgr takes configuration data imported from DCM Digest, converts it, and stores it in the site database.
Note: Configuration Manager Toolkit
The Configuration Manager Toolkit, which is available for download at http://www.microsoft.com/downloads/details.aspx?FamilyID=948e477e-fd3b-4a09-9015-141683c7ad5f&DisplayLang=en (or search for Configuration Manager 2007 Toolkit at www.microsoft.com/downloads), includes three tools to help author outside of ConfigMgr:
DCM Model Verification— Used to validate and test configuration items and baselines authored externally from the ConfigMgr console.
DCM Digest Conversion—
Used to convert existing SMS 2003 Desired Configuration Management
Solution templates to Desired Configuration Management 2007
configuration items.
DCM Substitution Variables—
Used to author configuration items that use chained setting and object
discovery. Substitution variables cannot be created or used by the
ConfigMgr built-in toolset but are part of DCM Digest specification.
Why would anyone want to use SML or DCM Digest rather than the built-in editor? Here are several reasons:
The ConfigMgr toolset cannot model every
conceivable evaluation criteria. You may have to resort to one of these
languages to implement the checks you want to implement.
You
may be comfortable working with XML. Working with XML gives you
fine-grain control over the implementation of criteria and eliminates
any abstraction present in the ConfigMgr console.
Using an XML format provides the ability to create and edit configuration data outside of the console.
The
responsibility for creating the configuration data may not lie with a
user who has access or should have access to the ConfigMgr console.
Although using an XML format is a bit more cumbersome, these types of
users can author without being granted privileges within ConfigMgr.
3. Authoring with CP Studio
Working directly with XML is fraught
with issues and not an attractive option to most administrators or to
individuals responsible for creating the baselines who may not even be
technically inclined.
CP Studio offers all the advantages of authoring
configuration data outside the console without the requirement of
needing to know XML. CP Studio also gives you the ability to create
configuration data from an existing system using a profiling process
that converts the current state of the system into a baseline. This
profiling process enables you to configure a system to your
organization’s exact standards and use CP Studio to create a baseline
matching that configuration. After importing the created baseline into
DCM, you can now verify that all your systems are identically configured
with little effort.
CP Studio has three major features:
Golden Master Creation Wizard—
This wizard creates a configuration item from the current configuration
of a specified system. The wizard prompts you to select which parts of
the system to consider in creating the new baseline. The wizard cannot
review every setting on a system because there are countless
possibilities, but it does a very good job nonetheless. Figure 20 shows this wizard and the possible settings it can use to build the configuration item.
Criteria Builder—
Perhaps the lengthiest part of actually developing a configuration item
using the ConfigMgr built-in toolset is jumping around to other tools
to build and verify criteria. As an example, to create Registry key
object or settings checks, you need to use regedit (or some other
Registry editor); for WMI queries you need to use WBEMTest, the Microsoft WMI tools, WMIC (or another tool); and the same goes for each other type of possible criteria.
CP Studio includes built-in criteria builders and browsers for each type of criteria listed in Tables 2 and 3.
Therefore, you do not have to use an external tool to browse for values
or create criteria. The built-in criteria builders connect to the local
system or remote systems and greatly speed the process. Figure 21 displays the WMI query builder.
Baseline Testing—
CP Studio has a built-in testing module that applies a selected
baseline, on demand to the local or remote systems, which gives you
instant results. This also greatly speeds the development life cycle of a
baseline, because using the ConfigMgr toolset you first have to assign
the baseline to a test collection, wait for the policy to be downloaded,
and then manually log in to the system.
CP Studio does not enable you to build criteria
that you cannot build with the ConfigMgr toolset. What it does, however,
is offer a layer of abstraction that makes building the criteria easier
and much quicker. With the addition of the testing module and Golden
Master Creation Wizard, CP Studio can significantly reduce your
development cycle for baselines and configuration items.
Building baselines and configuration items—using
the built-in toolset, raw XML, or CP Studio—are technical tasks in DCM.
Deciding how to use the baseline and configuration items best in your
organization is more of a conceptual task that requires planning and
forethought. The next section covers some strategies for doing so.