June 2009 - Posts

Roger Zanders' SCCM Client Center Updates

There are two ways I'm aware of to implement SCCM Client Center

  1. http://smsclictr.sourceforge.net/ , and click on Run.  That installs it automatically across the internet, and I believe (I'm not sure, because we use method #2) keeps you up-to-date when a minor update is released.
  2. You could download and deploy the MSI from here. But that means you'll miss out on minor updates.

If you use method #2 (like we do), you might want to get into the habit of checking http://smsclictr.sourceforge.net/update/ every few weeks.  For example, last week an update to 2.0.1.6 was released.  The MSI you download is version 2.0.1.

Mini Monster Mof builder updated to 1.10

The .hta builder has been updated to v1.10   http://myitforum.com/cs2/blogs/skissinger/archive/2008/10/28/mini-monster-mof-builder.aspx

Added in a few more mof snippets since the last edit.  And of course mentioned Mark Cochrane's RegkeytoMof utility!

Posted by skissinger | 1 comment(s)
Filed under:

32bit vs 64bit Report

I've been seeing this question come up over and over again in various forums, and I wanted a definitive answer for myself, using the least amount of data points.  So, looking at a 64bit os on x64, and 32-bit os on x86, and 32-bit os on x64, this is what I've seen:

64bit on x64processor:
win32_computersystem.systemtype = x64-based pc
win32_processor.addresswidth = 64
win32_processor.architecture = 9
win32_processor.datawidth = 64

32bit on x86processor:
win32_computersystem.systemtype = x86-based pc
win32_processor.addresswidth = 32
win32_processor.architecture = 0
win32_processor.datawidth = 32

32bit on x64processor:
win32_computersystem.systemtype = x86-based pc
win32_processor.addresswidth = 32
win32_processor.architecture = 9
win32_processor.DataWidth = 64

Based on this data, to me the easiest to tell x86 os & 64-bit processor is this:

select sys.netbios_name0,
case when pr.addresswidth0 = 64 then '64bit OS'
when pr.addresswidth0=32 then '32bit OS'
end as [Operating System Type],
case when pr.addresswidth0=32 and pr.DataWidth0=64 then '*'
end as [32-bit OS on x64 processor]
from v_r_system sys
join v_gs_processor pr on sys.resourceid=pr.resourceid

which would result in a report similar to this, there is 1 computer which is a 32bit os loaded on a 64-bit capable computer.

If it's irrelevant to you which computers might be x86 running on x64-capable computers, you could just report on addresswidth0=32 or 64. 

Posted by skissinger | with no comments
Filed under:

SMS/ConfigMgr Client Package Cache Info

By request, the version of packages in ConfigMgr Client Cache.  Since I noticed the wmi namespace is different for SMS 2003 clients vs. ConfigMgr clients, if you have SMS2003, use the SMS2003 edit in sms_def.mof, if you are running ConfigMgr07, use the ConfigMgr edit.

Use this one if SMS2003:

//  <:[-<>>>>>>>>>>Start>>-SMS Client Cache Info-<<Start<<<<<<<<>-]:>
//`'`*._.*`'`*-
//  SMS Client Cache Info Reporting Class - FOR SMS2003
//`'`*._.*`'`*-

#pragma namespace ("\\\\.\\root\\cimv2\\sms")

[ SMS_Report(TRUE),
  SMS_Group_Name ("Cache Info"),
  Namespace ("root\\\\ccm\\\\softmgmtagent"),
  SMS_Class_ID ("CUSTOM|CACHE_INFO|1.0") ]
Class CacheInfo : SMS_Class_Template
{
 [SMS_Report (TRUE),key  ] string   CacheID;
 [SMS_Report (TRUE)      ] string   ContentID;
 [SMS_Report (TRUE)      ] uint32   ContentSize;
 [SMS_Report (TRUE)      ] string   ContentVer;
 [SMS_Report (TRUE)      ] datetime LastReferenced;
 [SMS_Report (TRUE)      ] string   Location;
 [SMS_Report (TRUE)      ] uint32   ReferenceCount;
 };

//  <:[-<>>>>>>>>>END>>-SMS Client Cache Info-<<END<<<<<<<<<<<<<<>-]:>

 Use this one if ConfiMgr07: 

//  <:[-<>>>>>>>>>>Start>>-SMS Client Cache Info-<<Start<<<<<<<<>-]:>
//`'`*._.*`'`*-
//  SMS Client Cache Info Reporting Class - FOR ConfigMgr 07
//`'`*._.*`'`*-

#pragma namespace ("\\\\.\\root\\cimv2\\sms")

[ SMS_Report(TRUE),
  SMS_Group_Name ("Cache Info"),
  Namespace ("root\\\\ccm\\\\softmgmtagent"),
  SMS_Class_ID ("CUSTOM|CACHE_INFO|1.0") ]
Class CacheInfoEx : SMS_Class_Template
{
 [SMS_Report (TRUE),key  ] string   CacheID;
 [SMS_Report (TRUE)      ] string   ContentID;
 [SMS_Report (TRUE)      ] uint32   ContentSize;
 [SMS_Report (TRUE)      ] string   ContentType;
 [SMS_Report (TRUE)      ] string   ContentVer;
 [SMS_Report (TRUE)      ] datetime LastReferenced;
 [SMS_Report (TRUE)      ] string   Location;
 [SMS_Report (TRUE)      ] uint32   PersistInCache;
 [SMS_Report (TRUE)      ] uint32   ReferenceCount;
 };

//  <:[-<>>>>>>>>>END>>-SMS Client Cache Info-<<END<<<<<<<<<<<<<<>-]:>

Append the mof edit to the bottom of inboxes\clifiles.src\hinv\sms_def.mof on your primary site servers.  If you are SMS2003, no mofcomp of the mof is necessary on your clients, the namespace already exists, it's just a policy change.