Unable to download patch packages from an UNC or Shared Drive: Multiple connections to a server or shared resource by the same user.
search cancel

Unable to download patch packages from an UNC or Shared Drive: Multiple connections to a server or shared resource by the same user.

book

Article ID: 207454

calendar_today

Updated On:

Products

Patch Management Solution

Issue/Introduction

You are trying to download patch packages and PMImport references in a separate UNC / shared drive for no-internet connection environment (as per KB 180645 "Configuring Patch Management 8.x to operate without an internet connection").

However, in one of the Child SMPs, when the package has been downloaded for some of his enabled bulletins, the following error is noticed, causing the packages to not download from that UNC location:

Download failed for: \\ns-01\Updates\MS20-10-W10-4577668\{30ec9b6e-87a9-4224-b3c8-fe55c5b2ffe7}\windows10.0-kb4577668-x64-1809.msu

Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again
   [System.ComponentModel.Win32Exception @ Altiris.PatchManagementCore]
   at Altiris.PatchManagementCore.Utilities.File.DownloadUnc(Uri fromUrl, DownloadContext downloadContext)
   at Altiris.PatchManagementCore.Utilities.File.DownloadToStreamWithRetries(Uri uri, DownloadContext downloadContext)
   at Altiris.PatchManagementCore.Utilities.File.Download(String fromUrl, String toDirectory, String toFileName, Boolean forceDownload, DownloadParameters miscDownloadParams)

Exception logged from: 
   at Altiris.PatchManagementCore.Utilities.File.Download(String, String, String, Boolean, Altiris.PatchManagementCore.Utilities.DownloadParameters)
   at Altiris.PatchManagementCore.Utilities.FileDownloader.Download()
   at Altiris.PatchManagementCore.Utilities.FileDownloader.DoDownloadProcedure(Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, Object)
   at System.Threading.ThreadHelper.ThreadStart(Object)

-----------------------------------------------------------------------------------------------------
Date: 1/27/2021 12:16:50 PM, Tick Count: 301594015 (3.11:46:34.0150000), Size: 1.93 KB
Process: AtrsHost (6800), Thread ID: 73, Module: Altiris.PatchManagementCore.dll
Priority: 1, Source: Altiris.PatchManagementCore.Utilities.File.Download

Environment

ITMS 8.x

Cause

Microsoft limitation for multiple concurrent connections to a UNC location.

Resolution

There are few ways that this issue could be addressed. This "Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed. Disconnect all previous connections to the server or shared resource and try again" message is a very common side-effect when multiple machines are trying to access the same UNC location at the same time.

Recommendations based on what other people suggested online on different online forums:

1. Reboot the SMP server. That should close the open connections.

2. In order to get around this problem, which Microsoft created by design, you should map the drive in a way to let windows think it's another share on another server. The simplest way to do that is to use DNS aliases or ip addresses. If your first mapping uses the ip address like \\IP\Share with your current credential, you should use something like \\ServerName\Share password /user:Domain\Username. This should create a new share with the new credentials. Microsoft call this behavior by design.

It boils down to running the following commands on a command line as Administrator on the SMP server:

C:\> net stop workstation /y
C:\> net start workstation
C:\> net start netlogon

Note - the /y flag will force the service to stop even if this will interrupt existing connections. But otherwise, it will prompt the user and wait.