Install KB2783466 with SCCM to fix red cross in SUP packages

Last month we got problems! A lot of patches were missing from our packages and the solution was then to just re-download them all and update the distribution points.

Now Microsoft has released a patch for this "KB2783466" and I just deployed it using SCCM.

SCCM_WSUS_Hotfix_KB2783466

Create a normal software package and add the file and this commandline:

SCCM2007-SP2-KB2783466-ENU.msi /passive /norestart

Advertise it to some pilot servers and install it manually, since the switches are /passive you will see the installation but it's still automatic which gives you some control.

Check "add/remove programs" to see that it's installed ok.

Put in a mandatory installation time to the advertisement and rock on with the rest of your SCCM servers.

Use Wmic to Get Hotfix installation dates from Windows 7 and 2008 servers

The default setting in Def_Mof does not collect hotfix installation dates from Windows 2008 servers so you can't use SCCM to query add/remove programs table to get a installation date when SUP is giving strange dates.

So I searched and modified a powerful wmic command for this:

wmic /node:@serverlist.txt /output:c:\temp\qfe_output.csv QFE where hotfixid="KB2655992" GET CSName,HotFixID,InstalledON /format:csv

1. Put all servers into the "serverlist.txt" file.

2. Run the command as a user who gets local admin rights to all systems in the serverlist.txt.

3. Outpul is created as CSV but you can change the formal to HTML by changing to: "/format:html"

Worked very well for me!

Who or what restarted the SCCM system

I get this question quite often and in big SCCM environments it can be a lot of things that restarts a system but this is how I troubleshoot:

1. First I check the "RebootCoordinator.log" and try to find if it's a package or user that initiated the restart.

2. If it was a package and the reboot was in a bad time check it MW is set in any of the collections where the system is shown.

sccm-log-tip-Who-restarted-system

3. Next option is that a user has done the restart and this is a little more tricky but impossible or hard, no! :)

Check the "smscliui.log" and look for the SID for the user who accepted a reboot after Software Updates for example.

PsGetSid-find-out-who-restarted-sccm-system

Download the PsGetSid tool from here (link to Microsoft).

Run the command with the sid as parameter and you wil get the username who restarted the system in cleartext.

Create Dynamic SCCM 2007 Collection with all N/A and Not Approved Clients

Even if you have the "Approve all" site setting in SCCM 2007 there are still some clients that are "N/A" or "Not Approved" by different reasons.

Step1: At my customer I created a dynamic collection that pulled all resources from ALL SYSTEMS collection that had N/A or Not Approved status..

Query based rule not approved na

Create a new collction and built a query based rule

Create SQL Query based collection in SCCM

Paste these lines into the "Query statement:" field and save/close it.

select SMS_R_SYSTEM.ResourceID,SMS_R_SYSTEM.ResourceType,SMS_R_SYSTEM.Name,SMS_R_SYSTEM.SMSUniqueIdentifier,SMS_R_SYSTEM.ResourceDomainORWorkgroup,SMS_R_SYSTEM.Client from SMS_R_System inner join SMS_CM_RES_COLL_SMS00001 on SMS_CM_RES_COLL_SMS00001.ResourceId = SMS_R_System.ResourceId where SMS_CM_RES_COLL_SMS00001.IsApproved not like '1'

Now you have a dynamic SCCM collection with all systems that has some issue with boundaries or just needs to be manually approved. Select all systems in the collection, right click and approve them.

Step2 is to automatically approve all these systems with a script but I am posting that later..

Query to Find Which Netbios Name uses the GUID

Often when you troubleshoot SCCM status message errors you get the non-readable GUID on the system reporting the error.

I created this simple console query that shows which netbios name that uses the GUID look for (prompted value):

select distinct SMS_G_System_SYSTEM.Name, SMS_R_System.SMSUniqueIdentifier, SMS_R_System.SMSUUIDChangeDate from  SMS_R_System inner join SMS_G_System_SYSTEM on SMS_G_System_SYSTEM.ResourceID = SMS_R_System.ResourceId where SMS_R_System.SMSUniqueIdentifier = ##PRM:SMS_R_System.SMSUniqueIdentifier##

Show Query Language SCCM Console Query

Feel free to use it! Create a new query, select "Show Query Language" and paste in the query in bold above!

I use this query every day to find the bad guys :D

Hardware Failure on Server holding Management Point - Here is an Easy Fix!

One Customer had a hardware failure on a really old SMS2003 server holding Management Point (MP) and Distribution Point (DP) roles.

Since the HW were really old and soon to be terminated I installed MP and DP roles on Primary Server and asked network team to change the DNS record for the broken server to point out the Primary Server.

Even if clients/agents should go to AD and check for the MP role I have seen that many clients need to be restarted before they do and above goes much faster than wait to all 10'000 clients to get restarted.

Just a small tip :)

Virtual Central Site Server CPU/RAM/Disc Load During Big Client migration

I want to show you some performance status from a real world migration when 5000 new SCCM clients were added to a hierarchy where all SCCM site servers are running on Virtual VWware platform.

Virtual Central SCCM site server 10000 active agents

All Primary Child Site Servers has 4 CPUs and 8 GB RAM and the Central site Servers where all the pictures below come from has 12 GB RAM.

SQL2008 enabled on 2 CPUs on Server with 4 total CPUs - Migration 9000 clients status

SQL 2008 is only allowed to use 2 CPU's (read more).

Central SCCM site server RAM Memory when 5000 new clients was added

Memory usage duing initial first discovery and HW/SW Inventory.

Central SCCM site server CPU when 5000 new clients was added

CPU usage duing initial first discovery and HW/SW Inventory.

Central SCCM site server DISC when 5000 new clients was added

And last picture shows Disc usage duing initial first discovery and HW/SW Inventory.

Virtual servers are doing a good job and this same Central site servers has now >40'000 active clients and is still in good shape.

Please use the below comment link if you want to ask something?

SCCM client installation fails - Error 1603

  I am right now doing a big server migration from SMS2003 to SCCM2007 and in some countries the installation fails with an general error code 1603.

To solve this I added this one line to my client installation cmd file right before ccmsetup.exe command line:

If exist %windir%\system32\atl.dll %windir%\system32\regsvr32.exe %windir%\system32\atl.dll /S

Enable 2 CPU's for SQL2008 on SCCM Central site

As default all available CPU's are managed by SQL and on one of my customers Virtual Windows 2008 R2 x64 server (Central site with 40000 clients) i have seen that CPU0 is running very high 80-90% and CPU1 around 50% and the last two barely at all.

Before-Change-Automatic-CPU-Enabled-in-SQL2008

Default setting as above!

After-Change-in-SQL2008-Only-Use-CPU2-CPU3

After my change in SQL2008 Server Management Studio.

SCCM-Central-Site-4-CPU-Virtual-Server-High-Load-on-CPU0

This was the dramatic change. CPU0 was down to normal and could execute more SCCM processes and CPU3 and 4 was forced to run SQL2008R2.