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.
- My colleague’s blog, Kent Agerlund about: SCCM Current Branch Dynamic updates and telemtry data
- My colleague’s blog, Tim De Keukelaere: Configuration Manager 1511 Updates and Servicing : a closer look at the updating experience
- Technet : About the Service Connection Point
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.
- Prepare Usage data that will be sent to Microsoft
- Connect to Microsoft, send usage data and retrive update
- 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:
- \ConfigMgrServiceConnection
- \ConfigMgrUsageData
- \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
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.
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
Verify result by looking at ServiceConnectionTool.log where you will see that the bits is actually downloading.
When all is done, you should have these files in .\ConfigMgrUpdatePacks
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
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
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/
- Direct link to script: https://msdnshared.blob.core.windows.net/media/2016/03/EnableUpdateRing1.txt
(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
Your update is ready to be installed:
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
Do not forget to leave a comment if you have any questions – Have a great Easter!
So what do you do if you don’t want to send Microsoft any data from your environment?
There is no way to disable the telemetry data being sent – it is mandatory.
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.
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 FilesMicrosoft Configuration ManagerEasySetupPayloadofflineConfigMgrUpdates” 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.
Dear,
Why i run this command,it showed me “usage data is not yet available”?
What sort of size and file counts should been seen in the .ConfigMgrUpdatePacks location. We have just attempted this and seeing 20.6gb, 23053 files and 6513 folders, this seems to be on the large side and wondered if this is about right? Problem we have now is getting this amount of data back into our secure primary server 🙁
Why i run this command,it showed me “usage data is not yet available”?
The ServiceConectionTool.log says “ERROR:The data is not available yet. Please make sure that this tool is run as a local administrator on the server that hosts the service connection point.”
I am logged in as a local admin.