All components Type and Availability shows “Unknown”. Failed to read the required Operations Management component registry key values on local computer; error = 6 (0x6).

This morning, I noticed in our SCCM Primary server, all components Type and Availability shows “Unknown”


After awhile, “Type” and “Availability” shows correctly, about 60 minutes later, it shows “Unknown” again, and it just repeatedly changes itself. We rebooted the server, but it didn’t help.

Investigating further, I saw that the compmon.log on the site server displayed the following errors:

"Failed to read the required Operations Management component registry key values on local computer; error 6 (0x6)"

And it repeatedly try to  add all the components to monitored component list again and again about each hour.


I found this post has same kind issues ,  so I start check our registry, found out what is our problem key:

HKLM\Software\Microsoft\SMS\Operations Manager\Components\SMS_NETWORK_DISCOVERY

This registry key was empty, unlike other components registry keys. I remember we tested use Network Discovery to create boundaries automatically, but later we decided not to use Network Discovery and we deselected it. It seems the component’s registry has left behind.

I made a backup of the Components registry, deleted SMS_NETWORK_DISCOVERY registry key, restarted SMS_EXECUTIVE service. The log is clear without errors. It didn’t try to add those components to monitored list again. All components shows status correctly.


#sccm, #troubleshooting

SCCM 1606 BUG? 32-bit process Powershell detection method doesn’t work

As you know, you can use powershell detection method when you create Application in SCCM.

Usually, I use this script, and it has been working for many years:

$app = Get-WmiObject Win32Reg_AddRemovePrograms  | where-object {$_.DisplayName -like “Your Application name”}
if ($app -ne $null) {
write-host Installed

I choosed “Run script as 32-bit process on 64-bit clients”. Because clients are 64bits Windows 10 machines, and my application is 32-bits.


As usual, I tested the detection script in my machine that has the application already installed. Run the script in ISE (x86), it will get you “Installed”. If run it in ISE (x64), it gives you nothing.

Yesterday, users complains softwares are trying to install again and again, and I started to check out what is going on.

I checked “C:\Windows\CCM\Logs\AppDiscovery.log” in few machines, applications that are using this 32-bit powershell detection method gave result “not detected”, although applications are installed.

No one has changed those Applications detection method, I wonder what went wrong.

At the end, I found the “Run script as 32-bit process on 64-bit clients” powershell dection method didn’t work right after machines have updated SCCM Client 1606. 5.00.8412.1007, based on time stamp of ccmsetup.log and AppDiscovery.log.

I have tested few more Applications, results are same.


#application, #sccm, #troubleshooting

A computer that is running Windows 10 Version 1511 reverts to a previous date and time

Perhaps not many people have this issue, but I would like to mention it here.

The system date and time setting on a computer that is running Windows 10 Version 1511 (build 10586.xx) incorrectly reverts to a date and time that is at least one day in the past.

If your envirment is in a private network or proxy, I suggest you run this step in your win 10 image capture process:

Net stop w32time

W32tm.exe /unregister

W32tm.exe /register

net start w32time

W32tm.exe /resync /force

How do you know you have time sync problem?

  1. After machine is installed, time in the log on screen is wrong.
  2. installation log file smsts.log, you will see the time is jumping in Data/Time column. (use cmtrace to read log files, not notepad)
  3. machine BIOS clock might changed itself.
  4. SMSTSUDAUSERS is not set



#troubleshooting, #windows10

SCCM 1602 roll up hotfix KB3155482 bug?

NOTE: the KB has been updated with a workaround for this issue

Lovely weekend, upgraded from SCCM 2012 R2 SP1 CU2 to 1511, then 1602, then hotfix KB3155482. At the end, we end up exectly like this, Client Upgrade shows old client version numbers, and SCCM Client package is not updated.


Big thanks for Niall Brady ‘s windows-noob Facebook group, Anderz Wedefelt point me out technet forum has same discussion of this matter, –Marc–  has reported as bug to MS.

So if you don’t wanna end up like me, please remember promote automatic client upgrade to production before you install this hotfix to your site system.

Here is the fix, Wrex mentioned it in technet forums: 

  1. If you have another test envirment what is upgraded sucessfully, copy all the files from CMUClient from that server to your CMUClient folder, go to step 3.
  2. If you don’t have another test envirment you can copy those files from, do this:
    Go to EasySetupPayload folder, you will find two folders inside it. Sort them with time stamp, the older one is 1602 installation media, new one is hotfix KB31554821) Open the 1602 folder:
    1.1) copy all files from “SMSSETUPCLIENT” to “your SCCM installation pathCMUClient”
    1.2) copy msrdcoob_amd64.exe, wic_x64_enu.exe and WindowsUpdateAgent30-x64.exe from “redist” to “your SCCM installation pathCMUClientx64”
    3)copy ndp452-kb2901907-x86-x64-allos-enu.exemsrdcoob_x86.exe, silverlight.exe, wic_x86_enu.exe, windowsupdateagent30-x86.exe from “redist” to “”your SCCM installation pathCMUClienti386”

    If you have choose multiple language in your site, copy also language pack from “redistLanguagePackClient”
    Example. Finnish launguage, choose FIN folder, copy “redistLanguagePackClientFINsmssetupClient” to “your SCCM installation pathCMUClient”
    2) Open the hotfix folder:

    copy all files from “SMSSETUPCLIENT” to “your SCCM installation pathCMUClient”, overwrite older files.

  3. Open “SQL Manangement Studio”, choose your CM site database, right click, create “new query”, excute this:
    select * from ClientBaseline
    select * from ClientDeploymentSettingsYou will see version are “5.00.8325.1000”sql1
     then excute this:UPDATE ClientDeploymentSettings SET UpgradeVersion = ‘5.00.8355.1306’ WHERE UpgradeProgramName = ‘Configuration Manager Client Upgrade Program’
    UPDATE ClientBaseline SET Version = ‘5.00.8355.1306’ WHERE Name = ‘Staging Baseline’
    select * from ClientBaseline
    select * from ClientDeploymentSettings

    You will now see Staging Baseline version is “5.00.8355.1306”


  4. Update “Configuration Manager Client Piloting Package” package. Open Admin console, go to Applications-Packages, Choose “Configuration Manager Client Piloting Package”, Click update distribution points.Wait until if finished. If you don’t see “Configuration Manager Client Piloting Package”, close Admin console and reopen Admin console as Administrator.
  5. Check your site hierarchy settings, Client upgrade tab. Pre-production client version should be “5.00.8355.1306”. Uncheck “Upgrade all clients in the hierachy using production client”, if it was checked..1
  6. Now you should able to choose Client Update Options again.2
  7. Choose “I am ready to make pre-production client version available to production”, then OK.
  8. Check your site hierarchy settings, Client upgrade tab. Production client version should be updated as “5.00.8355.1306”. Check the “Upgrade all clients in the hierachy using production client” check box. then click OK.fixed
  9. Check you SMSClient folder, those files should be updated themself now, and the “Configuration Manager Client Package” should be automatic updated to distribution points.

Hope this helped you!

#sccm, #troubleshooting

SCCM Recovery – Part 2 Install Primary Site

If you are still using Configuration Manager 2012, you can run the setup.exe from the installation media folder.

If you are using Current Branch, you should run the setup.exe from “your site backup folder\CD.Latest\SMSSETUP\BIN\X64”

Rest of those are just next next next, you can find other post about it , just use your favor search engine. use key word “SCCM recovery step by step”. I personally recommended Nickolaj Andersen Recover a Site Database in ConfigMgr 2012 R2

Once again, I just wanna marked down the important notes:

  1. Hope you do find your backup folder, and there are newest backups in it. 🙂
  2. Go do something else when the recovery starts running, it might take an hour, you will have heart attack by watching it.
  3. Remember “The Post-recovery actions are now presented to you, and it’s recommended that you take those actions”, just like what Nick said.
    It means:
    Install the missing updates, hotfix.
    Input back those service account password in the Admin Console. 

Restart your server after recovery is done. 😀



SCCM Recovery – Part 1 Prepare

I don’t actually know how should I write this Part 1, I recommended you read first System Center 2012 Configuration Manager R2 – Disaster Recovery for Entire Hierarchy and Standalone Primary Site recovery scenarios

There are almost everything you need, yes I said almost. 🙂

I marked down only few steps what I remembered, not step by step installation

  1. Install Windows Server
  2. Install Security updates to your sever
  3. If you are doing an automatic recovery, you should use same sever name, and exactly same partitions as your old SCCM server.
  4. Put NO_SMS_ON_DRIVE.SMS file to those partitions to root folder of any drive that you want to prevent Configuration Manager  from installing files on
  5. Install Prerequisites that are related to install SCCM, example Windows roles and Feature. You can use powershell to do that.

    Add-WindowsFeature Web-Windows-Auth,Web-ISAPI-Ext,Web-Metabase,Web-WMI,BITS,RDC,NET-Framework-Features,Web-Asp-Net,Web-Asp-Net45,NET-HTTP-Activation,NET-Non-HTTP-Activ,Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Http-Redirect,Web-App-Dev,Web-Net-Ext,Web-Net-Ext45,Web-ISAPI-Filter,Web-Health,Web-Http-Logging,Web-Log-Libraries,Web-Request-Monitor,Web-HTTP-Tracing,Web-Security,Web-Filtering,Web-Performance,Web-Stat-Compression,Web-Mgmt-Console,Web-Scripting-Tools,Web-Mgmt-Compat –Restart -Source :\sources\sxs 

  6. Install SQL, cumulative updates.
    If you still have the SQL Configuration file saved in some place, you can just use it. (I will write another post about it later and link it here. )
  7. Make more tempDB files.
  8. Install ADK, if you use SCCM to deploy OS
  9. Install MDT, if you use SCCM to deploy OS
  10. Install WSUS, if you use the primary server to sync Windows Updates.

Matter of fact, you just need to install everything same as the first time when you setup your SCCM server, so I really hope you have wrotten an documention of that.

Why do I mention 4 and 5 ? I am sure you already knew these basics things, but I have met people whom forgot these basic steps when they did SCCM recovery, perhaps people were in a hurry to recovery their SCCM, time is running out, isn’t it?! Well guess what happened when you didn’t do the basic things, will SCCM works after recovery? Of course NOT!

So, take a deep breath, calm down, clear your mind, go for a run, go Sauna..relax.. Then you start do the SCCM recovery.


SCCM Backup – Part 2 Setup SQL Database Email

Why? Why? Why?

I was in one week holidays, guessed what happened when I came back to work. I found out that our backup disk was full, so SCCM refuse to do site backup, SQL refuse to do SQL full backup. Although I should have SCCM alert if site backup failed, but I do not know why I haven’t received a single email from SCCM monitoring alert. So I decided make SQL backup notification alert.

I believe there are many ways how you setup the SQL Alert, I am not specialist of SQL, so I am just telling how I did it, may not be the best, but it worked. 🙂

  1. Setup database mail. There is already some other post related to that. Example Pinal Dave wrote an article how to make it in SQL Server 2008, it is same in SQL Server 2012 or 2014. Of course, you should put your own information on those step, like smtp server name. I only use Step 1) Create Profile and Account from the article, and sent test email to myself, confirmed it works.
    SQL SERVER – 2008 – Configure Database Mail – Send Email From SQL Database
  2. How ever, I made small chages in the “manage Profile Security” step. I put the Profile as Public, and I choose “Default Profile”–> Yes.datamail
  3. Choose “SQL Serve Agent”, right-click “Operators”–>”New Operator…”
    Name: Send Email to myself
    Choose “Enable”
    E-mail name: (put the email address of the person who actually reads emails)

#backup, #sccm, #sql