Step 1: Locate the OWA logon form (logon.aspx file)
1) Open the Internet Information Services (IIS) Manager (Start > Administrative Tools > Internet Information Services (IIS) Manager). 
2) In the left pane of the IIS manger console, expand Sites > Default Web Site > OWA. 
3) Right-click auth folder and select Explore.
4) This will open the auth folder window where you can find the OWA logon form (logon.aspx file).
 
**Make sure you make a backup before modifying the file.
 
Step 2: Configure the logon form to include Reset Password link 
1) Open the logon.aspx file in an HTML editor of your choice. 
2) Locate the following block of code:
 
 

 <div class="signInInputLabel" id="userNameLabel" aria-hidden="true"><%=UserNameLabel%>

</div>

 

<div>

<input id="username" name="username" class="signInInputText" role="textbox" aria-labelledby="userNameLabel"/>

</div>

 

<div class="signInInputLabel" id="passwordLabel" aria-hidden="true"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.PasswordColon)%>

</div>

 

<div>

<input id="password" onfocus="g_fFcs=0" name="password" value="" type="password" class="signInInputText" aria-labelledby="passwordLabel"/>

</div>

 

<div>

<input id="passwordText" onfocus="g_fFcs=0" name="passwordText" value="" style="display: none;" class="signInInputText" aria-labelledby="passwordLabel"/>

</div>

 

<div class="showPasswordCheck signInCheckBoxText">

<input type="checkbox" id="showPasswordCheck" class="chk" onclick="-showPasswordClick()"/>

<span><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.ShowPassword)%></span>

</div>

 

<% if (ShowPublicPrivateSelection) { %>

<div class="signInCheckBoxText">

<input id="chkPrvt" onclick="clkSec()" name="trusted" value="4" type="checkbox" class="chk" checked role="checkbox" aria-labelledby="privateLabel"/>

<span id="privateLabel" aria-hidden="true"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.ThisIsAPrivateComputer)%></span>

<%=(IsRtl ? "&#x200F;" : "&#x200E;") + LocalizedStrings.GetHtmlEncoded(Strings.IDs.OpenParentheses)%> 

<a href="#" class="signInCheckBoxLink" id="lnkShwSec" onclick="clkSecExp('lnkShwSec')" onkeydown="kdSecExp('lnkShwSec')"role="link"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.-ShowExplanation)%></a>

<a href="#" class="signInCheckBoxLink" id="lnkHdSec" onclick="clkSecExp('lnkHdSec')"onkeydown="kdSecExp('lnkHdSec')" style="display:none" role="link"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.HideExplanation)%></a><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.CloseParentheses) + (IsRtl ? "&#x200F;" :"&#x200E;")%>

</div>

 

<div id="prvtExp" class="signInExpl" style="display:none" role="note"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.PrivateExplanation)%>

</div>

 

<div id="prvtWrn" class="signInWarning" style="display:none" role="note"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.PrivateWarning)%>

</div>

 

<% } %>

 

 

3) Replace the above block of code with the code given below:
 

 <div class="signInInputLabel" id="userNameLabel" aria-hidden="true"><%=UserNameLabel%>

</div>

 

<div>

<input id="username" name="username" class="signInInputText" role="textbox" aria-labelledby="userNameLabel"/>

</div>

 

<div class="signInInputLabel" id="passwordLabel" aria-hidden="true"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.PasswordColon)%>

</div>

 

<div>

<input id="password" onfocus="g_fFcs=0" name="password" value="" type="password" class="signInInputText" aria-labelledby="passwordLabel"/>

</div>

 

<div>

<input id="passwordText" onfocus="g_fFcs=0" name="passwordText" value="" style="display: none;" class="signInInputText" aria-labelledby="passwordLabel"/>

</div>

 

<div class="showPasswordCheck signInCheckBoxText">

<input type="checkbox" id="showPasswordCheck" class="chk" onclick="-showPasswordClick()"/>

<span><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.ShowPassword)%></span>

</div>

 

<!--SSRPM LINK-->

<div class="signInInputLabel" style="font-size:14px;">

<a style="text-decoration:none;color:#0072c6;" target="_blank" href="[URL_TO_YOUR_SERVER]">Forgot Password?</a>

</div>

<!--END SSRPM LINK-->

 

<% if (ShowPublicPrivateSelection) { %>

<div class="signInCheckBoxText">

<input id="chkPrvt" onclick="clkSec()" name="trusted" value="4" type="checkbox" class="chk" checked role="checkbox" aria-labelledby="privateLabel"/>

<span id="privateLabel" aria-hidden="true"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.ThisIsAPrivateComputer)%></span>

<%=(IsRtl ? "&#x200F;" : "&#x200E;") + LocalizedStrings.GetHtmlEncoded(Strings.IDs.OpenParentheses)%> 

<a href="#" class="signInCheckBoxLink" id="lnkShwSec" onclick="clkSecExp('lnkShwSec')" onkeydown="kdSecExp('lnkShwSec')"role="link"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.-ShowExplanation)%></a>

<a href="#" class="signInCheckBoxLink" id="lnkHdSec" onclick="clkSecExp('lnkHdSec')"onkeydown="kdSecExp('lnkHdSec')" style="display:none" role="link"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.HideExplanation)%></a><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.CloseParentheses) + (IsRtl ? "&#x200F;" :"&#x200E;")%>

</div>

 

<div id="prvtExp" class="signInExpl" style="display:none" role="note"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.PrivateExplanation)%>

</div>

 

<div id="prvtWrn" class="signInWarning" style="display:none" role="note"><%=LocalizedStrings.GetHtmlEncoded(Strings.IDs.PrivateWarning)%>

</div>

 

<% } %>

 

 

Replace [URL_TO_YOUR_SERVER] with your SSRPM URL
 
For example: <div class="signInInputLabel" style="font-size:14px;"><a style="textdecoration:none;color:#0072c6;"
target="_blank"
href="http://yourSSRPMURL.com>Forgot Password?</a></div>
 
4) Save and then close the file
 
Now, open your Outlook Web App page from a browser and verify whether the ‘Reset Password’
link works properly.