Thursday, May 31, 2018

Failed to add the file autorun.inf in content Error 0x80040154

When distributing a packages with many files, specially autorun.ini file you may get below error;

PkgXferMgr.log (SMS_PACKAGE_TRANSFER_MANAGER) at Primary site;
ExecStaticMethod failed (80040154) SMS_DistributionPoint, AddFile
CSendFileAction::AddFile failed; 0x80040154
Failed to add the file autorun.inf in content SCB00014.2. Error 0x80040154
CSendFileAction::AddFileMetaData failed; 0x80040154
CSendFileAction::SendFiles failed; 0x80040154
CSendFileAction::SendContent failed; 0x8004015

And on the target distribution point (smsdpprov.log);
CFileLibrary::AddFile failed; 0x80040154
CFileLibrary::AddFile failed; 0x80040154
CContentDefinition::AddFile failed; 0x80040154
Failed to add file 'autorun.inf' to content library. Error code: 0X80040154
CFileLibrary::AddFile failed; 0x80040154
CFileLibrary::AddFile failed; 0x80040154
CContentDefinition::AddFile failed; 0x80040154
Failed to add file 'autorun.inf' to content library. Error code: 0X80040154
CFileLibrary::AddFile failed; 0x80040154
CFileLibrary::AddFile failed; 0x80040154
CContentDefinition::AddFile failed; 0x80040154
Failed to add file 'autorun.inf' to content library. Error code: 0X80040154

Most likely the reason for this error is missing Remote Differential Compression on the distribution point.
Install remote differential compression on the distribution point and update the content.
The content will successfully deploy to it;

Friday, April 13, 2018

CreateVirtualDirectory: Failed to update virtual directory SMS_DP_SMSPKG$

ERROR CreateVirtualDirectory: Failed to update virtual directory SMS_DP_SMSPKG$. error = IDispatch error #3603
Cannot set the current Drizzle Role status for the DP.
DP thread with ID 6908 failed to process DP action
SMS_DISTRIBUTION_MANAGER will generate above errors in distmgr.log and there will be no errors in PkgXferMgr.log on the primary site server.

On offending DP, there will be no entries to the offending package in smsdpprov.log

The error in distmgr.log relates to virtual directories / IIS. Review the installed pre-requisites of IIS on the DP, most likely the DP will be missing IIS 6 WMI Compatibility feature.
If it is not installed, install the IIS 6 WMI Compatibility feature.

If it is already installed, remove the feature and re-add it then re-distribute the package.
This should the fix the issue and the package distribution will complete successfully.

Sunday, April 1, 2018

TSDisableProgressUI is replaced ServiceUI.exe

TSDisableProgressUI, A new built-in task sequence variable included in SCCM CB 1706 release.
This will hide the task sequence progress bar and bring the any user specific notification to the screen.
Previous to 1706 release, we have used ServiceUI.exe to get the same outcome, however now it is no longer needed.

How to use TSDisableProgressUI task sequence variable?
In my task sequence I have a step for setting up a custom computer name.
Currently I am using ServiceUI.exe to get the prompt.

Using TSDisableProgressUI, I have created a Set Task Sequence Variable step then enter the value: TRUE

Next will be Set Computer Name step. This will be prompted and showed on the screen. Make sure remove ServiceUI.exe.

After this add another Set Task Sequence Variable step TSDisableProgressUI step then enter the value False.
Thats it.
Next time when the task sequence runs, the prompt will be shows same as using ServiceUI.exe

Friday, March 23, 2018

Step by Step SCCM 1802 Upgrade Guide

Today (23/03/2018) Microsoft has released new branch update (1802) for System Center Configuration Manager.

Read release announcement  and list of new features on Microsoft Enterprise Mobility + security blog
The much anticipated primary site HA is not included in this release.

Before proceeding with SCCM branch upgrade, it is very important to review SCCM Current Branch servicing (upgrade) checklist

This step by step sccm 1802 upgrade guide will guide you through from any supported previous version to SCCM Configuration Manager 1802

Downloading the SCCM CB 1802 update:
If SCCM CB 1802 update is not available (if you are not in first wave of customers) in SCCM console and you want to install without waiting until the global release then you need to download FastRingScript_1802.exe then run on the site server.

1. Click on "Check for Updates" from \Administration\Overview\Updates and 
    Servicing node

2. If update is not available, then get FastRingScript_1802.exe from TechNet gallery
3. Extract the downloaded  FastRingScript_1802.exe
4. Launch PowerShell as Administrator
5. Change the current directory to the FastRingScript_1802 script path
6.  Run the script from elevated PowerShell window (ex: EnableFastUpdateRing1802.ps1 SCCB )
         Note: Just use server name without FQDN.

 7. You will get the command(s) completed successfully

 8. Go to \Administration\Overview\Updates and Servicing node in SCCM console then click Check for updates on the ribbon;

 9. Review the dmpdownloader.log file
           The log should have - Found a new available update

Then downloading large file with bits;

10. Refresh the Updates and servicing node in SCCM console, you can see the 1802 update in
     downloading state.

11. Wait until the 1802 update status changes from Downloading to Ready to Install.

Installing SCCM CB 1802 update:
 1. Like any other previous updates, first run the Run Prerequisite check or run the Install update Pack directly;

2. The installer will start the Configuration Manager Updates wizard. Click Next on the General tab;

3.  Select required features to be installed then click Next;

4.  Select required client update options then click Next;

5. Accept the license terms then click Next;

6. Review and confirm the selected options then click Next;

7. Close the completion window.

8. Now the 1802 update state will change from Available to Installing;

9. We can view the detailed progress of the update installation from \Monitoring\Overview\Updates 
      and Servicing Status\Configuration Manager 1802 node From the ribbon click on Show status.
The update status also can be checked by reviewing hman.log
10. It will take 20-30 min (based on the server performance) to complete the upgrade. 
Once the update is installed, Configuration Manager 1702 update status will be changed from Available to Installed.

Console Upgrade:
After upgrading the site server to SCCM Current Branch 1802, If we re-launch or check the console version, we will get a popup message saying A new version of the console is available (5.1802.1802.1700).

When prompted, Click OK to upgrade the console and follow the-on screen prompts to complete the upgrade process.

Once the update is installed the version number of SCCM will be;
         System Center Configuration Manager Version: 1802
         Console Version: 5.1802.1802.1700
         Site Version: 5.0.8634.1000

Click here for complete SCCM Current Branch step by step guides, step by step migration guide, step by step monitoring and health check guide and step by step SCCM Current Branch servicing guide.

Monday, February 26, 2018

SCCM Always On Groups on SQL 2016 Standard or SQL 2017 Standard

When you are planning to configure SQL Always on for SCCM, make sure you will use SQL enterprise edition instead of STD.
SQL 2016 and SQL 2017 standard editions offer's only basic Always On Availability Groups, unlike Always On Availability Groups.

Basic Availability Groups has various limitations and one of them is no read access on secondary replica. For ConfigMgr it is required to have read access on all the replicas. Because of this limitation SQL 2016 standard or SQL 2017 Standard editions wont support ConfigMgr always on availability groups.

For further details refer to Microsoft Basic Availability Groups