Upgrade SCCM 1511 to 1602 when Service Connection Point is set to Offline, on-demand

Last week Microsoft announced 1602 for SCCM Current Branch Production Environments: https://blogs.technet.microsoft.com/configmgrteam/2016/03/11/now-available-update-1602-for-system-center-configuration-manager/

Receiving updates to your System Center Configuration Manager Server(s) is today more important than ever in order to have your SCCM environment keep track with Windows 10 and the ever fast paste with Cloud development where new features are added constantly. To make the updates experience of your SCCM solution as smooth as possible Microsoft has introduced dynamic updates for SCCM. This basically means that you will get a notice in your SCCM Administration console that a new update is available for installation. But there is a but, Microsoft requires you to send data to them in order to actually receive the updates. Now, if your Service Connection Point is set to Online, then you will come to the office one morning with a fresh update waiting to be installed. However, if your Service Connection Point is set to Offline for some reason, then there are some manual steps that need to be done in order to actually retrieve a new update.  Before your read any further I suggest you read the following blogs and articles.

  1. My colleague’s blog, Kent Agerlund about: SCCM Current Branch Dynamic updates and telemtry data
  2. My colleague’s blog, Tim De Keukelaere: Configuration Manager 1511 Updates and Servicing : a closer look at the updating experience
  3. Technet : About the Service Connection Point

image

If you for some reason do not have a internet connection and/or your service connection point is set to offline then there are 3 main steps that needs to be taken in order to get the new updates.

  1. Prepare Usage data that will be sent to Microsoft
  2. Connect to Microsoft, send usage data and retrive update
  3. Import the update

All this is done with the ServiceConnectionTool.exe which can be found under cd.latest folder.

So how is this done? Go to your SCCM CB server and open an elevated PowerShell prompt and change directory to “Program Files\Microsoft Configuration Manager\cd.latest\SMSSETUP\TOOLS\ServiceConnectionTool”

Then create this folder and subfolders on a drive:

  1. \ConfigMgrServiceConnection
    1. \ConfigMgrUsageData
    2. \ConfigMgrUpdatePacks

Then from your PowerShell prompt run this command to create UsageData.cab which will be sent to Microsoft.

.\ServiceConnectionTool.exe -prepare -usagedatadest D:\ConfigMgrServiceConnection\ConfigMgrUsageData\UsageData.cab
image

Verify result by looking at ServiceConnectionTool.log which is in the same folder as ServiceConnectionTool.exe and that you actually have created UsageData.cab in ConfigMgrUsageData folder.

image

 

Now, if your ConfigMgr Server is not connected to Internet, then you have to copy both the UsageData.cab and the ServiceConnection to a computer or server that is connected since the Telemetry Data will be sent out in exchange for the update package (EasySetup Payload).

Next Run the following command to send data and retrieve update.

.\ServiceConnectionTool.exe -connect -usagedatasrc D:\ConfigMgrServiceConnection\ConfigMgrUsageData\UsageData.cab -updatepackdest D:\ConfigMgrUpdatePacks

image

Verify result by looking at ServiceConnectionTool.log where you will see that the bits is actually downloading.

image

When all is done, you should have these files in  .\ConfigMgrUpdatePacks

image

Next step is now to import the newly downloaded data into your ConfigMgr environment for processing. Return to your ConfigMgr Server and bring .\ConfigMgrUpdatePacks folder with you in case you downloaded them on an other computer or server. On the ConfigMgr server open a Elevated PowerShell prompt and run the following command

 

.\ServiceConnectionTool.exe -import -updatepacksrc D:\ConfigMgrServiceConnection\ConfigMgrUpdatePacks

image[28]

This will import the content of  .\ConfigMgrUpdatePacks to D:\Program Files\Microsoft Configuration Manager\EasySetupPayload\offline

  • ConfigMgr.AdminUIContent.auc will be copied to D:\Program Files\Microsoft Configuration Manager\AdminUIContentPayload
  • ConfigMgr.Update.Manifest.cab will be copied to D:\Program Files\Microsoft Configuration Manager\EasySetupPayload\offline

Now if you return to these two foldes later and you do not see the files, do not worry. ConfigMgr has moved them to the Inbox folder for further processing. To further monitor what is going on behind the scene you can monitor the following log file; dmpdownloader.log which is located here: D:\Program Files\Microsoft Configuration Manager\Logs

image

After you have imported the Payload, wait 10 – 20 minutes and you should be able to see the 1602 update being available in the ConfigMgr Console. However, Microsoft has announced that they are slowly rolling out the update globally which means that it could take a while until you see anything. But there is a solution for those who can’t wait. A PowerShell script to the rescue. If your dmpdownloader.log files do not indicate anything happening and your console has no updates available, then go to this link and download the script at the end of the page. https://blogs.technet.microsoft.com/configmgrteam/2016/03/11/now-available-update-1602-for-system-center-configuration-manager/

(Right click and Save As to download. Rename the .txt extension to .ps1 after downloading)

When downloaded, open a elevated PowerShell prompt and run the following command

.\EnableUpdateRing.ps1 SCCMServerName

image

Your update is ready to be installed:

image

Take a look at this blog post for further instructions on how to actually install the update: Configuration Manager 1511 Updates and Servicing : a closer look at the updating experience

 

Last but not least, to view your telemetry data before you send them to Microsoft run the following command

.\ServiceConnectionTool.exe -export -dest D:\ConfigMgrServiceConnection\ConfigMgrUsageData\UsageData.csv

image

Do not forget to leave a comment if you have any questions – Have a great Easter! Smilefjes


Comments (5):

  1. Joe says:

    So what do you do if you don’t want to send Microsoft any data from your environment?

  2. Dan says:

    I had a few problems with the steps as described here. Firstly when I ran the -prepare command, the usage data destination cannot exceed 50 characters and the suggested folder names above therefore do not work.

    Once i got the updates downloaded, I copied over to my primary server with the servicing point role. Ran the command to import the files and that ran fine. However, in dmpdownloader.log I have warnings : “Manifest.cab can’t be null or empty. Retry in next polling cycle.” and “AdminUI content cab was not prestaged for offline mode” and no updates are showing in the console.

    • Dan says:

      I figured this out, seems like this tool is as reliable and consistent as other parts of ConfigMgr (not at all!)

      The file “ConfigMgr.Update.Manifest.cab” had been placed in the following folder in my environment : “Program Files\Microsoft Configuration Manager\EasySetupPayload\offline\ConfigMgrUpdates\” I moved it up one level to “offline” folder, which the dmpdownloader.log log suggested is where it was looking for the file and then a few minutes later the updates were shown in my console.

  3. jian says:

    Dear,

    Why i run this command,it showed me “usage data is not yet available”?

Leave a Reply