Altiris directory connector fails with "System.Runtime.InteropServices.COMException caught"
search cancel

Altiris directory connector fails with "System.Runtime.InteropServices.COMException caught"

book

Article ID: 151973

calendar_today

Updated On:

Products

IT Management Suite

Issue/Introduction

Altiris Directory Connector version 6.0.577 was installed and configured to import computer information and OU information from Active Directory.

After a number of weeks of operation, the system has stopped working, with the following error whenever the system tries to retrieve the directory information:

<event date='Jan 11 14:48:32' severity='1' hostName='server_name' source='Altiris.DirectoryServices.DirectoryExport.LDAPExporter.GetOrganizationalUnits' module='AltirisNativeHelper.dll' process='aspnet_wp.exe' pid='2784' thread='2796' tickCount='1766163703' >
  <![CDATA[While getting OU list from <active directory source> System.Runtime.InteropServices.COMException caught in GetOrganizationalUnits. Reason: A local error has occurred ( Unhandled exception.  Type=System.Runtime.InteropServices.COMException Msg=A local error has occurred Src=System.DirectoryServices
StackTrace=
   at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
   at System.DirectoryServices.DirectoryEntry.Bind()
   at System.DirectoryServices.DirectoryEntry.get_AdsObject()
   at System.DirectoryServices.DirectorySearcher.FindAll(Boolean findMoreThanOne)
   at System.DirectoryServices.DirectorySearcher.FindAll()
   at Altiris.DirectoryServices.DirectoryExport.LDAPExporter.GetOrganizationalUnits(String strPath, String strUserId, String strPassword, Int64 nMaxUsnChanged, Boolean bUsnChanged, SearchScope searchScope, Int32& nOuCount) )]]>

</event>

Also:

<event date='Jan 11 15:00:44' severity='1' hostName='server_name' source='Altiris.DirectoryServices.DirectoryExport.LDAPExporter.GetRootDSE' module='AltirisNativeHelper.dll' process='aspnet_wp.exe' pid='2784' thread='3216' tickCount='1766895562' >
  <![CDATA[While getting RootDSE server.root.domain System.Runtime.InteropServices.COMException caught in GetRootDSE. Reason: A local error has occurred ( Unhandled exception.  Type=System.Runtime.InteropServices.COMException Msg=A local error has occurred Src=System.DirectoryServices
StackTrace=
   at System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
   at System.DirectoryServices.DirectoryEntry.Bind()
   at System.DirectoryServices.DirectoryEntry.RefreshCache()
   at System.DirectoryServices.DirectoryEntry.FillCache(String propertyName)
   at System.DirectoryServices.KeysCollection.GetEnumerator()
   at Altiris.DirectoryServices.DirectoryExport.LDAPExporter.GetRootDSE(String strServer, String strUserId, String strPassword) )]]>
</event>

Cause

The specific cause is not yet known, but the problem seems to be occuring on the Microsoft .NET System.DirectoryServices namespace. System.DirectoryServices provides .NET CLR interoperability functions with the ADSI API using COM.

Resolution

A special version of the Altiris.DirectoryServices assembly (Altiris.DirectoryServices.dll) is available and attached to this article.

To install the .DLL into the Global Assembly Cache (aka GAC), you can simply drag and drop it there (the GAC is a virtual folder located under %windir%\assembly).

In a particular case this .DLL update did not resolve all of the issues seen with the AD Connector, but using the "aexconfig.exe /unconfigure <Active Directory Connector solution Guid> /deleteitems" from the Notification Server\bin folder made it possible to reinstall the solution and have it run successfully.


Applies To

Customer is running Windows 2000 Server and Notification Server 6.0.5287 with Hotfix 19. Directory Connector 6.0.577 is installed. Another pair of Notification Servers are configured with the AD import working without fail.

Credentials used for the import where verify against the AD using MS wab.exe (WIndows Address Book) after configuring the Directory Service account.

Attachments

Altiris.DirectoryServices.zip get_app