Troubleshooting the Windows Server Monitoring Agent
Quickly resolve common issues and get expert answers for the Nodinite Windows Server Monitoring Agent. This page provides step-by-step troubleshooting for access, WMI, IIS, and configuration problems, plus direct links to support and FAQs.
✅ Fast solutions for access denied, WMI, and IIS errors
✅ Clear, actionable steps for configuration and permissions
✅ Direct links to expert support and detailed user guides
If you have any issues you cannot solve, contact our Support or send us an email at support@nodinite.com
Access denied
If you see System.UnauthorizedAccessException: Access is denied in the diagnostic files, review the WMI access rights on the target server.
- Run
wmimgmt.msc - Connect to the target server (or do the operation locally on the target server).

Example of the WMI Management Console (wmimgmt.msc) for WMI access rights management. - Right-Click | Properties.

Example of the WMI Properties context menu. - Select the Security tab.

Example of the Security tab in the WMI Properties dialog. - Click the Security button and make sure the account in use for the Nodinite Windows Server Monitoring Agent is present with appropriate permissions according to your needs and current configuration.

Example of assigning permissions to the monitoring agent account.
Invalid Class
Please review this specific user guide.
Invalid Namespace
Please review this specific user guide.
IIS Monitoring on Windows 2016 or earlier
Note
This section does NOT apply if you are using version 6.2.2.0 or later.
To monitor IIS, ensure the agent has all the Prerequisites installed.
On Windows Server 2016 or earlier, the system has Microsoft.Web.Administration in Assembly version 7.0.0.0 which uses .NET Framework 2.0. The Agent ships with a much newer version.
In a Monitor View, the IIS resource is in the Unavailable state.
To solve this, follow the steps below:
Note
These steps are Manual and must be applied each time the Agent is updated.
- Stop the Agent.
- Remove the
Microsoft.Web.Administration.dllfile in the installation folder of the agent. - Copy the
Microsoft.Web.Administration.dllfromC:\Windows\assembly\GAC_MSIL\Microsoft.Web.Administration\7.0.0.0__31bf3856ad364e35folder to the installation folder of the Agent. - Edit the
Nodinite.MonitoringAgent.WindowsServerHost.exe.configfile using Notepad++ and add the following assembly redirect section:
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.Web.Administration" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-10.0.0.0" newVersion="7.0.0.0" />
</dependentAssembly>
</assemblyBinding>
Diagnostics file entry example
In the Diagnostics file you may see entries like:
{"date":"2025-03-04T13:26:30.7430533+01:00","level":"ERROR","appname":"Nodinite.MonitoringAgent.WindowsServerHost.exe","logger":"IISHelper","thread":"16","ndc":"(null)","message":"An error occurred while getting Application pools on Server: 127.0.0.1","exception":"System.AggregateException: Cannot retrieve application pools. Exception: 'Object reference not set to an instance of an object.' ---> System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.Web.Administration.ConfigurationManager.CreateWritableAdminManager(WebConfigurationMap webConfigMap, String configPathToEdit, Boolean isAdminConfig, Boolean isRedirectionConfig) at Microsoft.Web.Administration.ConfigurationManager.CreateConfiguration(WebConfigurationMap configMap, String configPathToEdit, Boolean isAdminConfig, Boolean isRedirectionConfig) at Microsoft.Web.Administration.ConfigurationManager.GetConfiguration(String rawConfigurationPath, String cacheKey, Boolean isAdminConfig, Boolean isRedirectionConfig) at Microsoft.Web.Administration.ConfigurationManager.GetApplicationHostConfiguration() at Microsoft.Web.Administration.ServerManager.ApplicationPoolsSectionCreator() at Microsoft.Web.Administration.Lazy.Initialize[T](T& target, CreateInstanceDelegate`1 valueFactory) at Microsoft.Web.Administration.ServerManager.ApplicationPoolCollectionCreator() at Microsoft.Web.Administration.Lazy.Initialize[T](T& target, CreateInstanceDelegate`1
- and/or
{"date":"2025-03-05T11:55:53.8845728+01:00","level":"ERROR","appname":"Nodinite.MonitoringAgent.WindowsServerHost.exe","logger":"IISHelper","thread":"14","ndc":"(null)","message":"Failed to get details about the Application Pools from the IIS Server: BizTalk 2016 Server- SERVERNAME","exception":"System.AggregateException: One or more errors occurred. ---> System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Web.Administration, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) at Nodinite.MonitoringAgent.WindowsServer.Helpers.IISHelper.GetInternetInformationService(String address) at System.Threading.Tasks.Task`1.InnerInvoke() at System.Threading.Tasks.Task.Execute()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Nodinite.MonitoringAgent.WindowsServer.Helpers.IISHelper.<GetInternetInformationServiceAsync>d__12.MoveNext() --- End of inner exception stack trace --- at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 millisecondsTimeout, CancellationToken cancellationToken) at Nodinite.MonitoringAgent.WindowsServer.Helpers.IISHelper.GetApplicationPoolsAndsites(Task`1 iisTask, WindowsServerEntry windowsServer, DateTime startTime, List`1& appPools, List`1& WebSites, List`1& ftpSites)---> (Inner Exception #0) System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Web.Administration, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)File name: 'Microsoft.Web.Administration, Version=10.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' at Nodinite.MonitoringAgent.WindowsServer.Helpers.IISHelper.GetInternetInformationService(String address) at System.Threading.Tasks.Task`1.InnerInvoke() at System.Threading.Tasks.Task.Execute()--- End of stack trace from previous location where exception was thrown --- at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Nodinite.MonitoringAgent.WindowsServer.Helpers.IISHelper.<GetInternetInformationServiceAsync>d__12.MoveNext()WRN: Assembly binding logging is turned OFF.To enable assembly bind failure logging, set the registry value [HKLM\\Software\\Microsoft\\Fusion!EnableLog] (DWORD) to 1.Note: There is some performance penalty associated with assembly bind failure logging.To turn this feature off, remove the registry value [HKLM\\Software\\Microsoft\\Fusion!EnableLog].<---"}
If this is the case, you should try the assembly redirect option as documented on this page.
- Start the Agent.
Important
If you are reading this article, you are most likely no longer supported by Microsoft and must update your run-time environment.
FAQ
How do I add Windows Server to monitor with Nodinite?
Adding an arbitrary number of Windows Servers for Nodinite to monitor is a straightforward process and requires only proper access rights. Simply follow the steps detailed in the Configuration user guide.
Note
You must be part of the Administrators role
How do I run custom PowerShell scripts as securely as possible?
Use a dedicated service account, grant least privilege, keep secrets out of the script body, and limit WinRM and firewall access to only the servers that need remote execution. For the full checklist, see How to run custom PowerShell scripts securely.
Next Step
Configuration of the Windows Server Monitoring Agent
Related Topics
Windows Server Monitoring Agent Invalid Class Invalid Namespace Timeout or Connection Error Support