Over the last few weeks I have been working on an update to the EXDSD based upon feedback that I have received from the community.

I have added in some new features such as being able to control Services from the landing dashboard and I have also added a new “Servers” dashboard which allows for you to view some properties of your DAG Servers.

Perhaps the biggest change is the installer. I was very honoured that the EXDSD got a mention in Episode 25 of the UC Architects podcast. One thing that I picked up on from the podcast was that the installation of the tool needed some work (to be fair they were very nice but reading between the lines I think there was a message that the installer sucks balls).

I agreed with them to be honest – so I delved into my money jar and bought a licensed copy of Advanced Installer Pro.

The net result of the above is a far more streamlined and automated installation process – which I hope will support more environments.

Further to the above – I had the pleasure of supporting a chap called Matt Allford who was experiencing some problems with the install of version 1.01 of the EXDSD – the long and short was that as Matt had a multiple domain scenario – my initial installer could not handle that scenario so I helped Matt set the system up manually – but it was clear to me that I needed to get this right – therefore another reason why I have invested in a commercial installer product.

Change History since version 1.01

A specific summary of changes in version 1.02 are:

  • Landing Dashboard – Enhanced labelling within the user interface
  • Landing Dashboard – Added in Replay Queue Length on DAG Copy Status
  • Landing Dashboard – Added in Activation Preference on DAG Copy Status
  • Landing Dashboard – Added in Context Index State on DAG Copy Status
  • Landing Dashboard – Added in the ability to Stop and Start Services from the Exchange Services area
  • New Feature – Server Information Dashboard
  • Error Handling – added in more Exception Handling logic for when unexpected things happen
  • Installation – New installer:
    • Natively automates the creation of IIS requirements
    • Removes the requirement for a service account

Download

cntMstr006 [ EXDSD – Version 1.02 – 1.3 MB ]

adobe [ EXDSD – Installation and Users Guide – 1.1 MB ]

Installation

For specific installation instructions – please read the Installation and User guide – however a key point that you should note is that you MUST remove all previous versions of the EXDSD (e.g. versions 1.0 and 1.01) before you install 1.02.

This includes performing the following actions:

  • Remove the program binaries using Windows Programs and Features
  • Remove the existing IIS Virtual Directory from within the IIS Service Manager
  • Remove the existing IIS Application Pool from within the IIS Service Manager
  • Delete the Service Account that was created in Active Directory

The table below provides a summary of the above:

Aspect

Location

Action

 

Version 1.01 or 1.02 Binaries

From Windows Programs and Features

Remove

IIS (EXDSD) Virtual Directory

IIS Services Manager

Delete

IIS Application Pool (ap_EXDSTAppPool)

IIS Services Manager

Remove

Service Account (svcEXDSD)

Active Directory Users and Computers

Delete

 

Screen captures

Below are some screen captures of the new features of version 1.02 in action:

Landing Dashboard – DAG Copy Status

You can now view Replay Queue Length, Activation Preference and the Context Index State.

pre_15-08-201318-13-49

Landing Dashboard – Control Services

You can now control the state of services from the Landing Dashboard.

pre_15-08-201318-16-13

Servers Dashboard

The servers dashboard is new – from here you can view a number of facets about your individual DAG nodes.

pre_15-08-201318-19-30

Social

{ 11 comments… read them below or add one }

Matt Allford August 30, 2013 at 3:22 am

Hey Andy,

Nice update and thanks again for taking the time to help me out. Have used the new installer in our forest test domain and it has worked well. I currently have 2 mailbox servers in test. When on the ‘Control’ page, if I select MBX1 in the ‘Select server for maintenance’ dropdown, I can pick MBX2 under the ‘Select transport redirect target’.

But if I pick MBX2 for the server to put into maintenance, I also only have the option of transport redirection for MBX2 (which obviously doesn’t work) and do not get an option to pick MBX1.

I can see how this goes in PROD in a month or two if you like, where will have 12 MBX servers in total.

Cheers, Matt.

Reply

SAT November 19, 2013 at 5:25 pm

Andy

I would not have been able to do what i’ve achieved in the last 5 days without either your EBUCT tool or the DAG dashboard.

They have given me a degree of flexibility for quick fixing new accounts missed (EUBCT) and quick GUI analysis of the Ex2013 health (DAG dashboard)

Appreciate your input into the community.

Reply

Peter December 1, 2013 at 2:18 pm

Hi,

downloaded and installed on one of DAG nodes. once installed, localsystem was used as the identity for

unfortunately, with the out of box installation it was all the time raising this error:
[NullReferenceException: Object reference not set to an instance of an object.]
EXDST_2013.Default.Get_FSWData() +10292
EXDST_2013.Default.Page_Load(Object sender, EventArgs e) +2944
System.Web.UI.Control.LoadRecursive() +70
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3177

I’ve tried to create service account manually, added it into Exch Org group and reconfigured AppPool to run under this account, but the result is the same.
would you please help ?
thx
Peter

Reply

Gerhard Wessels December 2, 2013 at 2:50 pm

This dashboard looks like a serious party, however after installation all I can get is this, please help.

Server Error in ‘/EXDSD’ Application.

Request timed out.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: Request timed out.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[HttpException (0x80004005): Request timed out.]

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.33440

Reply

Raj July 23, 2014 at 7:01 am

I am also getting the same error [HttpException (0x80004005): Request timed out.]. Does anyone have a fix to the issue?

Reply

ptitpain October 9, 2014 at 7:35 am

Any comment about this error ?

Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.]
EXDST_2013.Default.Get_FSWData() +10292
EXDST_2013.Default.Page_Load(Object sender, EventArgs e) +2944
System.Web.UI.Control.LoadRecursive() +70
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3177

thks

Reply

Arun November 27, 2014 at 11:32 am

I installed it on Exchange 2013 CU5 on Windows 2012 R2, the exdsd does not work with the following below error. Appreciate your help.

Server Error in ‘/EXDSD’ Application.
Runtime Error
Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.
Details: To enable the details of this specific error message to be viewable on remote machines, please create a tag within a “web.config” configuration file located in the root directory of the current web application. This tag should then have its “mode” attribute set to “Off”.

Notes: The current error page you are seeing can be replaced by a custom error page by modifying the “defaultRedirect” attribute of the application’s configuration tag to point to a custom error page URL.

Reply

Yanik July 13, 2015 at 1:48 pm

Good evening Andy,

Did you test with 2013 CU7 cause I have installed your apps which is great but I’m getting this error. Can you help me with that.

Cheers,

Yanik

Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index]
System.Collections.ArrayList.get_Item(Int32 index) +14330801
System.DirectoryServices.ResultPropertyValueCollection.get_Item(Int32 index) +28
EXDST_2013.Default.GetMailboxDatabases() +929
EXDST_2013.Default.Page_Load(Object sender, EventArgs e) +2932
System.Web.UI.Control.LoadRecursive() +71
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3178

Reply

Peter August 25, 2015 at 7:57 am

Hi Adny,

Im having some issues getting EXSD to work. I have installed it on one of my Exchange 2013 SP1 CU8 and when i try to start the appm this error comes.
Can you please help as I really need to your tool 🙂

Server Error in ‘/EXDSD’ Application.

Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[NullReferenceException: Object reference not set to an instance of an object.]
EXDST_2013.Default.get_ClusterNode() +3440
EXDST_2013.Default.Page_Load(Object sender, EventArgs e) +2853
System.Web.UI.Control.LoadRecursive() +70
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3177

Reply

Alessandro Bergo September 25, 2015 at 6:33 pm

I received the following error:

Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 25/09/2015 15:24:19
Event time (UTC): 25/09/2015 18:24:19
Event ID: 09730f76857b4f09a8c95d9fd2c4ecad
Event sequence: 34
Event occurrence: 5
Event detail code: 0

Application information:
Application domain: /LM/W3SVC/1/ROOT/EXDSD-1-130876782261323611
Trust level: Full
Application Virtual Path: /EXDSD
Application Path: C:\Program Files\EXDSD\
Machine name: XXXXX

Process information:
Process ID: 3860
Process name: w3wp.exe
Account name: NT AUTHORITY\SYSTEM

Exception information:
Exception type: NullReferenceException
Exception message: Object reference not set to an instance of an object.
at EXDST_2013.Default.get_ClusterNode()
at EXDST_2013.Default.Page_Load(Object sender, EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Request information:
Request URL: https://XXXXXXX:443/exdsd/default.aspx
Request path: /exdsd/default.aspx
User host address: fe80::45ad:db6b:1369:900bC:\Program Files\EXDSD\
User: XXXXXX
Is authenticated: True
Authentication Type: Negotiate
Thread account name: NT AUTHORITY\SYSTEM

Thread information:
Thread ID: 23
Thread account name: NT AUTHORITY\SYSTEM
Is impersonating: False
Stack trace: at EXDST_2013.Default.get_ClusterNode()
at EXDST_2013.Default.Page_Load(Object sender, EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Custom event details:

Reply

pavnesh kumar November 16, 2016 at 11:26 am

i also had same issue i have resolved the issue.

i moved all the arbitation mailboxes to exchange 2016 from 2013 and also moved administrator account mailbox to exchange server 2016.
issue stand resolved

Reply

Leave a Comment

Previous post:

Next post: