R2 is available free of charge to customers who have Software Assurance, and it comes with our updated documentation help file (SMSv4.chm). However, everybody can access this latest documentation online from the TechNet Configuration Manager documentation library. The documentation updates include the following:

Configuration Manager 2007 inventories hardware information about clients based on the contents of two Managed Object Format (MOF) files stored on the primary site server in the <ConfigMgr install directory>\inboxes\clifiles.src\hinv directory. The two MOF files used by hardware inventory processes are the Configuration.mof and SMS_def.mof MOF files.

About the Configuration.mof File :

The Configuration.mof file is used to define the data classes to be inventoried by the hardware inventory client agent. Data classes can be created to inventory existing or custom WMI repository data classes or registry keys present on client systems.The Configuration.mof also defines and registers the WMI providers used to access computer information during hardware inventory. Registering providers defines the type of provider to be used and the classes that the provider supports. WMI, and Configuration Manager 2007 hardware inventory can only access registered providers.

About the SMS_def.mof File :

The SMS_def.mof file defines the reporting classes used by the hardware inventory client agent to determine whether or not specific client data class information is reported. Reporting classes are based on the WMI repository data classes, and attributes of those classes, existing on clients by default or added to them by customizing the Configuration.mof file.Reporting class information in the SMS_def.mof file is converted into a reporting policy provided to clients during their normal computer policy polling interval. After the client compiles the new reporting policy, the reporting policy information is stored in the client system WMI repository in the InventoryDataItem class of the Root\CCM\Policy\Machine WMI namespace.

Inventory individual registry keys

My customer wants to inventories on the old windows 2000 machines all the software that was installed by the Compaq staging Framework before they will roll-out new hardware. The Compaq staging framework has written a registry entry for each installed software at the following registry place as show below.

HLKM\Software\CompaqStagingFramework\InstalledSoftware.

In the SCCM 2007 Hardware inventory it will not inventories custom registry keys by default

Within SCCM SP1 there is a new branch called “Asset Intelligence”. You want this to work within your company , How do we do it . First of all we need to enable the asset intelligence into the inventory :

1.To enable Asset Intelligence, you need to open the SMS_DEF.MOF file. Scroll to the bottom and work your way up and enable the 11 Asset Intelligence classes. By default they are set to False, change them to True. Save the .mof file and it will replicate to the other servers in the hierarchy after some time. You will now see new classes in Resource Explorer. Also, you will also then be able to run the Asset intelligence reports and get information. Without editing the .mof file, you cannot benefit for ANY of the reports on Asset Intelligence.

2. In SCCM, there is a new .mof file called Configuration.mof in the same folder as the sms_def.mof file. This .mof file controls several registry keys and also native mode settings. However, it also controls CAL inventory for clients. This can also be seen in the reports for Client Access License reports. By default, at the bottom of the .mof file, you will see a section called Instance of CCM_CALTRACKING. By default this is set to zero (0). You want to change it to 3. There is also a Set CALCollectionFrequency which by default is 7 days. You can leave that alone if you want to, but in a lab or in an instance where you want CAL reports to show up more often, you can change the number 7 to any other number of days, such as 2 if you like. Once again, once you save this file, it will replicate to your other site servers and you can now report on CAL’s used by clients.

After that you can install a Asset IntelligenceSynchronization Point if you want to receive AI catalog updates , but read further below :

The install of an Asset Intelligence sync point requires you to import a specific Certificate. To be eligible for receiving the certificate, you need to have an active SA contract with Microsoft for SCCM 2007. It doesn’t matter whether it covers client or server. The fact that you have SA for SCCM qualifies you for this benefit. If you do not have SA, you will not be able to deploy the new AI sync point and will need to continue getting bulk updates.You will need to ping a member of your account team (e.g. TAM or TS) and they will be able to get the certificate and send it to you in mail. If your account team is unaware of this internal site, please have them send mail to the distribution alias called “get ai cert“. Please note that this secure secure alias automatically rejects all external mail and is for internal use only @ microsoft

There is no real hurry in performing this process though, the current catalog is still the one that shipped with SCCM 2007 SP1 and there haven’t been any announcements that the catalog will be updated soon.

Today I was working at a customer that is still using symantec ghost instead of the OSD from SCCM .They are on the way of going from ghost to OSD and SCCM but during the inventory scan we have noticed some issues with software inventory.

The culprit for this problem is Symantec Ghost. When imaging a workstation, certain version of ghost drop a temporary file that is not removed: ~0000.exe This file is located here:

This file is dated with the year 1601. Apparently the Microsoft SCCM developers forgot to account for the all-to-common scenario of handling files that were created during the forming of Europe.

Once this file was either removed or skipped and a full software inventory was run, the issue was resolved .

There is an easy way of skipping the file during the software inventory.Create a blank text file & rename it to Skpswi.dat, exclude the file and make sure you check the box to make it hidden before deploying.Important note : A not so widely known fact is that software inventory will only exclude the directory if Skpswi.dat is hidden. ( Credit to Kim Oppalfens for this one )

Part 1 of our console customizations explained how to add xml-file based actions to the Configmgr admin console, more specifically we looked at the “Executable” class. I promised to continue my console – deep dive posts with the group and report actions, so let’s just dive into it.

Let’s start by looking at a sample report action class xml file. The report class opens a report in the details pane of the SCCM console, if you want to open a report in a new browser window, then use the Executable class and use the url of the report as the executable.

The xml file starts with the actiondescription element just like the executable sample we saw in part 1. But this time the class attribute contains a value of “Report” instead of “executable”. The displayname and mnemonicdisplayname attributes are again identical to their counterparts we talked about in the Executable class sample in part 1, and the description attribute is pretty self-explanatory.

On the next line of the xml we find the reportdescription element which only has a single attribute, “Id”. The Id is the Reportguid you can find in the sms_report class. Unfortunately the reportguid isn’t exposed in the Configmgr admin console out-of-the-box, but you can add that yourself. Just open your Configmgr admin console, navigate to the Reporting \ Reports section and click the View menu. In the view menu of the SCCM console you’ll see add/remove columns in which you can add the report guid column.

That’s about it for the Report class xml’s and as with the executable sample, the only thing that is left to do is to copy it to the Program Files\Microsoft Configuration Manager\AdminUI\XmlStorage\Extensions\Actions\guid subfolder. Where guid is the guid of the node in the console where you want the report option action to appear.

Now let’s look at a group sample xml, which does nothing more than grouping multiple actions in a sub-menu in the action pane, or the right-click contect-menu of the SCCM console.

Our Class attribute this time is “Group” the displayname is the name you’ll see in the Action pane root, or context-menu. Then we start the Actiongroups element which starts and ends the list of actions. As you can see, there is nothing much to the Group class.

Hi All, The Configmgr product team has released a whitepaper on performance and scalability with SCCM 2007 rtm and sp1 configurations. It contains hardware recommendations for different sizes of organizations and answers to common performance and scalability questions.

PS: This post was initially created on a managed windows mobile 6.1 phone, which has gone through the testing process and is now a supported mobile client for both SCCM 2007 rtm and sp1 versions, and was later edited for clarity.

Hey, this is fabulous, through tell us something we didn’t know already. The most interesting remark I got though was, that’s neat, but can we do something like this ourselves?

The answer to that is, sure you can, you could even argue that it is relatively simple to do. Let’s start out with analyzing what Rick did with his set of tools.

After you installed the right-click action tools your admin console contains a couple of additional files & folder in the adminui folder. The additional folders are created in the Program Files\Microsoft Configuration Manager\AdminUI\XmlStorage\Extensions\Actions folders. The additional folders you will see are:

7ba8bf44-2344-4035-bdb4-16630291dcf6

66c75b33-4ca4-4f00-ae7f-3bcf31ee5bdc

392b72f3-1c83-42e1-90ed-611798bc0dd0

dbb315c3-1d8b-4e6a-a7b1-db8246890f59

fa922e1a-6add-477f-b70e-9a164f3b11a2

We’ll talk more about these folders and what they mean in a next post on customizing the SCCM 2007 console – deep dive – 2, for now, we’ll focus on how the actions are defined. The magic of adding an additional action to the console is as simple as copying an xml to the right folder, that’s it. The Configmgr 2007 sdk gives us some insight into the structures of these xml files under the topic Configuration manager console extension\ Configuration manager console actions\ How to create a configuration manager action. In that topic they suggest a console extension in it’s simplest form.

The first line starts with ActionDescription an than the class attribute, in this specific xml file the class is “Executable”, which isn’t all that difficult to interpret. The executable class runs an executable, or opens a program associated with the extension of the file in filepath. There are 4 other class values you can use:

Showdialog: Opens a property sheet or dialog box

ReportAction: Shows a report inside the console

AssemblyType Action: Allows you to call a method inside an assembly

Group Action: Creates a submenu

Executable Action: Runs an executable (added for completeness)

Even if you are not into programming, at least 3 of these (execuatable, group and reportaction) are still useful for any sms admin.

The displayname attribute specifies the displayed name in the SCCM console. The mnemonicdisplayname is the name displayed in the action pane and actions menu, and the description attribute is self-describing enough.

The next line opens the Executable element which is later closed again, the Executable element hosts the Filepath element, where you can specify a file to execute, or any file, which can trigger an application because an executable is linked to that extension. and a Parameters element that allows you to pass parameters to the executable. That’s it really, you just copy this xml to the folder with the right guid, and depending on which guid you selected the option will appear on right-clicks and in the action pane.

In the following post, we’ll examine the group action and report actions.