The Configuration Manager Client WMI Namespace
The Configuration
Manager client creates WMI classes to represent its own components and
configuration. The root of the ConfigMgr client namespace hierarchy is
Root\CCM. The Root\CCM namespace contains classes representing client
properties, such as identity and version information, installation
options, and site information. Two of the classes in this namespace
expose much of the functionality available through the Configuration
Management Control Panel applet:
The SMS_Client WMI class provides methods, displayed in Figure 17, that implement client operations such as site assignment, policy retrieval, and client repair.
The
CCM_InstalledComponent class defines properties such as name, file, and
version information describing each of the installed client components.
Figure 18 displays a list of the instances of the CCM_InstalledComponent class.
You will find managed objects for various client components in namespaces under Root\CCM. Figure 19
shows an instance of these classes, the CacheConfig class. The
CacheConfig class in the Root\CCM\SoftMgmtAgent namespace contains
settings for the client download cache, found on the Advanced tab of the
Configuration Management Control Panel applet.
The
ConfigMgr client uses the Root\CCM\policy namespace hierarchy to store
and process policy settings retrieved from the management point. The
client maintains separate namespaces for machine policy and user policy.
Tip: Using Local Client Policy
Clients normally
download and apply policy defined on their assigned site as described in
this section. You can choose to override downloaded policy settings on
individual clients using local client policy. As an example, the Remote
Tools client agent configuration is a sitewide setting, but the needs of
individual client systems may vary. If your sitewide settings require a
user to accept a remote control session, you may choose to use local
policy to override this on servers. The ConfigMgr SDK (Software
Development Kit) documentation describes how to manage local policy at http://msdn.microsoft.com/en-us/library/cc145455.aspx. Use caution when using local policy because it can complicate troubleshooting client issues.
During the policy
retrieval and evaluation cycle, the policy agent, a component of the
client agent, downloads and compiles policy settings and instantiates
the requested policy settings in the Root\CCM\policy\<machine|user>\RequestedConfig
namespace. The Policy Evaluator component then uses the information in
RequestedConfig to update the Root\CCM\policy\<machine|user>\ActualConfig
namespace. Based on the policy settings in the actual configuration,
the Policy Agent Provider component updates various component instances
with their appropriate settings. As an example, consider some of the
objects used by the client to process policy for an advertisement:
The policy agent—
The policy agent stores the policy for an assigned advertisement as an
instance of the CCM_SoftwareDistribution class in the
Root\ccm\policy\<machine|user>\ActualConfig namespace, as shown in Figure 20.
The Scheduler component—
The Scheduler maintains history for the advertisement in a
CCM_Scheduler_History object in the Root\CCM\scheduler namespace, as
displayed in Figure 21.
This
namespace can also contain schedule information for other components,
including DCM schedules, software update schedules, and NAP schedules.
The Content Transfer Manager— The Content Transfer Management component uses the CacheInfoEx object in the Root\CCM\SoftMgmtAgent namespace, shown in Figure 22, to manage cached content for the advertisement.
The SoftwareDistributionClientConfig class—
Machine policy also controls the settings of various ConfigMgr client
components. The SoftwareDistributionClientConfig class, shown in Figure 23, contains the Software Distribution client agent settings.
This
section looked at some of the more important WMI classes the ConfigMgr
client uses for its operations. This is by no means an exhaustive list;
in fact, hundreds of classes are used by the client. The classes
presented here are representative of some of the most important client
operations. The Configuration Manager server components have an even
larger set of WMI classes. The next section presents an overview of how
ConfigMgr uses WMI for server operations.