Unable to add MDM Server (Windows)
search cancel

Unable to add MDM Server (Windows)

book

Article ID: 265651

calendar_today

Updated On:

Products

Client Management Suite IT Management Suite

Issue/Introduction

Unable to configure the MDM server as the server is not showing up in the server tab of the "MDM Windows Workspace" as seen here:
 
 
Troubleshooting Steps:
  • User informed us that they are unable to configure the MDM server as the server is not showing in the server tab of the "MDM Windows Workspace"
  • Users uninstall and reinstalled the MDM plug-in agent on multiple MDM-designated servers; however, it still was not showing the server details 
  • Confirmed that the user is using the certificate (Self-sign) and the name of the certificate is the same as the MDM server 
 Followed the documentation, Setting up MDM for Windows, and seeing the below errors in the logs.

MainController failure.

Data is Null. This method or property cannot be called on Null values.
   [SqlNullValueException @ System.Data.dll]
   at System.Data.SqlClient.SqlBuffer.get_String()
   at Symantec.Workspaces.Api.Services.Mdm.Windows.MdmWindowsServerService+<>c.<GetPotentialServerInfos>b__1_0(SqlDataReader)
   at Altiris.NS.DataAccessLayer.DatabaseAbilities.ExecuteList<T>(string, int, string, object, Func<SqlDataReader,T>)
   at Symantec.Workspaces.Api.Services.Mdm.Windows.MdmWindowsServerService.GetPotentialServerInfos()
   at Symantec.Workspaces.Api.Controllers.Widgets.Mdm.Windows.MdmWindowsServerWidgetController.GetPotentialServerInfos()
   at .lambda_method(Closure, object, object[])
   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor+ActionExecutor+<>c_DisplayClass6_2.<GetExecutor>b_2(object, object[])
   at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext, IDictionary<string,object>, CancellationToken)
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task)
   at System.Web.Http.Controllers.ApiControllerActionInvoker+<InvokeActionAsyncCore>d__1.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task)
   at System.Web.Http.Filters.ActionFilterAttribute+<CallOnActionExecutedAsync>d__6.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Web.Http.Filters.ActionFilterAttribute+<CallOnActionExecutedAsync>d__6.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task)
   at System.Web.Http.Filters.ActionFilterAttribute+<ExecuteActionFilterAsyncCore>d__5.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task)
   at System.Web.Http.Controllers.ActionFilterResult+<ExecuteAsync>d__5.MoveNext()
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task)
   at System.Web.Http.Controllers.ExceptionFilterResult+<ExecuteAsync>d__6.MoveNext()

Exception logged from:
   at Altiris.Diagnostics.Logging.EventLog.ReportException(int, string, string, Exception, string)
   at Symantec.Workspaces.Api.Controllers.Filters.ApiControllerExceptionFilter.OnException(HttpActionExecutedContext)
   at System.Web.Http.Filters.ExceptionFilterAttribute.OnExceptionAsync(HttpActionExecutedContext, CancellationToken)
   at System.Web.Http.Filters.ExceptionFilterAttribute+<ExecuteExceptionFilterAsyncCore>d__3.MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<TStateMachine>(ref TStateMachine)
   at System.Web.Http.Filters.ExceptionFilterAttribute.ExecuteExceptionFilterAsyncCore(HttpActionExecutedContext, CancellationToken)
   at System.Web.Http.Filters.ExceptionFilterAttribute.System.Web.Http.Filters.IExceptionFilter.ExecuteExceptionFilterAsync(HttpActionExecutedContext, CancellationToken)
   at System.Web.Http.Controllers.ExceptionFilterResult+<ExecuteAsync>d__6.MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder<>.Start<TStateMachine>(ref TStateMachine)
   at System.Web.Http.Controllers.ExceptionFilterResult.ExecuteAsync(CancellationToken)
   at System.Web.Http.ApiController.ExecuteAsync(HttpControllerContext, CancellationToken)
   at System.Web.Http.Dispatcher.HttpControllerDispatcher+<SendAsync>d__15.MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder<>.Start<TStateMachine>(ref TStateMachine)
   at System.Web.Http.Dispatcher.HttpControllerDispatcher.SendAsync(HttpRequestMessage, CancellationToken)
   at System.Net.Http.HttpMessageInvoker.SendAsync(HttpRequestMessage, CancellationToken)
   at System.Web.Http.Dispatcher.HttpRoutingDispatcher.SendAsync(HttpRequestMessage, CancellationToken)
   at System.Net.Http.DelegatingHandler.SendAsync(HttpRequestMessage, CancellationToken)
   at Symantec.Workspaces.Api.Controllers.Extensions.ApiControllerAntiForgeryHandler.SendAsync(HttpRequestMessage, CancellationToken)
   at System.Net.Http.DelegatingHandler.SendAsync(HttpRequestMessage, CancellationToken)
   at System.Web.Http.HttpServer+<SendAsync>d__24.MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder<>.Start<TStateMachine>(ref TStateMachine)
   at System.Web.Http.HttpServer.SendAsync(HttpRequestMessage, CancellationToken)
   at System.Net.Http.HttpMessageInvoker.SendAsync(HttpRequestMessage, CancellationToken)
   at System.Web.Http.WebHost.HttpControllerHandler+<ProcessRequestAsyncCore>d__12.MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start<TStateMachine>(ref TStateMachine)
   at System.Web.Http.WebHost.HttpControllerHandler.ProcessRequestAsyncCore(HttpContextBase)
   at System.Web.TaskAsyncHelper.BeginTask(Func<Task>, AsyncCallback, object)
   at System.Web.HttpApplication+CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep)
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep, ref bool)
   at System.Web.HttpApplication+PipelineStepManager.ResumeSteps(Exception)
   at System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext, AsyncCallback)
   at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest, HttpContext)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, int)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, int)
   at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, ref RequestNotificationStatus)
   at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr, ref RequestNotificationStatus)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr, IntPtr, IntPtr, int)
   at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr, IntPtr, IntPtr, int)

Environment

ITMS 8.7

Cause

Known issue, where existing functionality does not handle certain situations that may exist in some environments.

Resolution

This was fixed in 8.7.1 as documented in the ITMS 8.7.1 Release Notes under Fixed Issues:

Unable to add machine with installed MDM Server plugin when configuring Windows MDM server in case if its DNS-suffix is empty.

There also is a drop-in DLL available if needed - please open a support case and a support engineer will assist.