Exchange 2013 OWA,Async,And OA error MsExchange BackEndRehydration event id 3002

I have deployed an exchange server 2013 and a colleague of mine was deploying EMS and RMS on the Exchange server but he probably have done some changes which I am not aware of that causes the system to get messy. Users can’t access their mailboxes from anywhere as they get the error in the screenshot.

Related errors are 3002, 3005

 

Event code: 3005
Event message: An unhandled exception has occurred.
Event time: 7/29/2015 11:10:57 AM
Event time (UTC): 7/29/2015 8:10:57 AM
Event ID: 6f94ea40e3964fb1a05d9fc48ffb4299
Event sequence: 38
Event occurrence: 2
Event detail code: 0
Application information:
Application domain: /LM/W3SVC/1/ROOT/owa-2-130826309519814020
Trust level: Full
Application Virtual Path: /owa
Application Path: C:Program FilesMicrosoftExchange ServerV15FrontEndHttpProxyowa
Machine name: EX2K1301
Process information:
Process ID: 19348
Process name: w3wp.exe
Account name: NT AUTHORITYSYSTEM
Exception information:
Exception type: NullReferenceException
Exception message: Object reference not set to an instance of an object.
at Microsoft.Exchange.Clients.Common.UserAgent.HasString(String str)
at Microsoft.Exchange.Clients.Common.UserAgent.get_Layout()
at Microsoft.Exchange.Clients.Common.UserAgent.get_LayoutString()
at ASP.auth_logon_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Page.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Request information:
Request URL: https://mail.Domain.com:443/owa/auth/logon.aspx?url=https://mail.Domain.com/owa/PowerShell-LiveID&reason=0
Request path: /owa/auth/logon.aspx
User host address: 10.16.0.172
User:
Is authenticated: False
Authentication Type:
Thread account name: NT AUTHORITYSYSTEM
Thread information:
Thread ID: 67
Thread account name: NT AUTHORITYSYSTEM
Is impersonating: False
Stack trace: at Microsoft.Exchange.Clients.Common.UserAgent.HasString(String str)
at Microsoft.Exchange.Clients.Common.UserAgent.get_Layout()
at Microsoft.Exchange.Clients.Common.UserAgent.get_LayoutString()
at ASP.auth_logon_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer)
at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)
at System.Web.UI.Page.Render(HtmlTextWriter writer)
at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Custom event details:

 

OWA PAGE

exchange2013

 

433959

 

Solution:

On Exchange servers, Make sure that Exchange servers are not members of Organization Management group and if they are then remove them and run this cmdlet anyway on all Exchange Servers then restart the Servers.

 

Get-ClientAccessServer | Add-ADPermission -AccessRights ExtendedRight -ExtendedRights “ms-Exch-EPI-Token-Serialization”, “ms-Exch-EPI-Impersonation” -User (Exchange Server name)

 

Hope this helps  Smile

del.icio.us Tags:

Creating Custom attributes on On-Prem AD for Exchange Online users on O365

I have came across some interesting scenario where Exchange Server doesn’t exist however some attributes might be still required or used on Office 365 for Exchange online users which are Synced with Azure Active Directory Sync tool.

The attributes might be used for different purposes but sometimes it’s very necessary so I will go ahead and demonstrate how to create a custom attribute which is normally created by default with Exchange servers deployed on-prem.

 

First I will run the Schema console

 

On one of the DC servers which are synced with Office 365 Launch  CMD as Administrator

Run the following Command

regsvr32 schmMgmt.dll

clip_image001

Run MMC

Click on File -> ADD /Remove Snap in

clip_image002

clip_image003

Right Click on Attributes -> Create Attribute…

clip_image004

clip_image005

Click on Continue

clip_image006

Click OK

Go to Attributes, Navigate to Custom attributes and double click on it and tick the boxes below then click apply

clip_image007

clip_image008

Now go to Classes

Find and double click on User

clip_image009

clip_image010

Click on Add and add the Custom Attribute

clip_image011

clip_image012

Click Apply

Now go back to CMD on DC Server and replicate changes across all servers

clip_image013

Open ADUC and check users attributes

clip_image014

 

Hope this helps Smile 

 

del.icio.us Tags: ,,

In-Place upgrade from Lync 2013 to Skype for business step by step guide

Prerequisites References:

https://technet.microsoft.com/en-us/library/dn951371.aspx?f=255&MSPPError=-2147217396

https://technet.microsoft.com/en-us/library/dn933900.aspx

Lync CU 5

https://www.microsoft.com/en-us/download/details.aspx?id=36820

Kb2533623 Windows Server 2008 R2

http://support.microsoft.com/kb/2533623

Kb2858668 Windows Server 2012

http://support.microsoft.com/kb/2858668

KB2982006 Windows Server 2012 R2

https://onedrive.live.com/redir?resid=82488EABA4ACDB15!38654&authkey=!AE9IJKbMPtkge8U&ithint=file{308b10a016e19a1cd6a208cbc3961927e16fc6766a4020d3c4ef54ea17925f0f}2cexe

SQL 2012 SP2 for Express version

https://www.microsoft.com/en-us/download/details.aspx?id=43351

Powershell

$PSVersionTable

clip_image001

STEP 1 : Installing Prerequisites On Lync 2013

Add-WindowsFeature NET-Framework-Core, RSAT-ADDS, Windows-Identity-Foundation, Web-Server, Web-Static-Content, Web-Default-Doc, Web-Http-Errors, Web-Dir-Browsing, Web-Asp-Net, Web-Net-Ext, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Http-Logging, Web-Log-Libraries, Web-Request-Monitor, Web-Http-Tracing, Web-Basic-Auth, Web-Windows-Auth, Web-Client-Auth, Web-Filtering, Web-Stat-Compression, Web-Dyn-Compression, NET-WCF-HTTP-Activation45, Web-Asp-Net45, Web-Mgmt-Tools, Web-Scripting-Tools, Web-Mgmt-Compat, Server-Media-Foundation, BITS

From <https://technet.microsoft.com/en-us/library/dn933900.aspx>

clip_image002

clip_image003

STEP 2: Installing CU5

Download and install CU5

https://www.microsoft.com/en-us/download/details.aspx?id=36820

clip_image004

clip_image005

After the restart we will apply the update of the databases which in my case is going to be the FQDN of the FE server since it’s standard version and not Backend server.

Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn lyncfe01.adeo.local -Verbose

clip_image006

clip_image006[1]

Time to upgrade the Archiving/Monitoring databases.

To upgrade we’ll use the same command except change the FQDN of the SQL server to the SQL server where Monitoring and Archiving databases are at.

Install-CsDatabase -ConfiguredDatabases -SqlServerFqdn sql01.adeo.local -Verbose

clip_image007

clip_image008

clip_image009

Applying CMS upgrade

clip_image010

Install-CsDatabase -CentralmanagementDatabase -SqlServerFqdn Lyncfe01.adeo.local -SqlInstanceName rtc -verbose

clip_image011

clip_image012

Then run enable-cstopology

Last thing in the CU5 update is

{308b10a016e19a1cd6a208cbc3961927e16fc6766a4020d3c4ef54ea17925f0f}ProgramFiles{308b10a016e19a1cd6a208cbc3961927e16fc6766a4020d3c4ef54ea17925f0f}Microsoft Lync Server 2013DeploymentBootstrapper.exe

clip_image013

clip_image014

https://support.microsoft.com/en-us/kb/2809243

Step 3 : Installing Windows OS hotfix.

KB2982006 Windows Server 2012 R2

Since the FE is on Windows Server 2012 R2 then we’ll need to download this link

https://onedrive.live.com/redir?resid=82488EABA4ACDB15!38654&authkey=!AE9IJKbMPtkge8U&ithint=file{308b10a016e19a1cd6a208cbc3961927e16fc6766a4020d3c4ef54ea17925f0f}2cexe

RESTART is Required

clip_image015

STEP 4 : Install SQL Service Pack 2 (Express) for your Lync Front end Standard Edition

First Download SQL Express SP2 setup

clip_image016

You can patch the server by opening a Lync Management Shell window and entering the following commands:

 

Stop-CsWindowsService

.SQLEXPR_x64_ENU.exe /ACTION=Patch /allinstances /IAcceptSQLServerLicenseTerms

clip_image017

clip_image018

clip_image019

clip_image020

clip_image021

clip_image022

clip_image023

clip_image024

Step 5: SQL Server (Standard or Enterprise) for (Monitoring, Archiving)

https://support.microsoft.com/en-us/kb/321185

clip_image025

My SQL Server version is SP1 so I don’t need to upgrade it to SP2

clip_image026

Step 6- In-place Upgrade for Skype For Business

In order to do the in-place upgrade, we’ll need to use a machine that doesn’t have Lync 2013 to install the new Topology builder and do the upgrade process

On a different Machine that’s joined to the same domain, I will run the prerequisites script and restart the machine. then I’ll load the Skype for business ISO and install

clip_image027

D:Setupamd64Setup.exe

clip_image028

clip_image029

clip_image030

clip_image031

We’ll now press on Installing Administrative tools

clip_image032

clip_image033

clip_image034

Now in order to continue we’ll have to open the topology builder in order to upgrade our Lync 2013 topology

I’ll open the topology builder and save the topology file somewhere

clip_image035

Once the topology is open, I’ll navigate to the Standard FE Servers and right click on my main server to upgrade

clip_image036

clip_image037

I’ll click on Upgrade to Skype for Business Server 2015…

clip_image038

As soon as you press Yes, the Frontend server that you selected will be moved under the Skype For Business Server 2015 tab as you can see below.

clip_image039

Since I have two FE servers (FE and SBS) I will be upgrading them both but not in the same time not not fall into any errors, so I will publish the topology and see what happens.

clip_image040

clip_image041

We’ll check what do we need to do now in order to upgrade the servers, here is what we’ll do.

Import existing normalization rules from the previous Skype for Business Server deployment. If you want to keep your existing normalization rules you will need to import them using the Import-CsCompanyPhoneNormalizationRules cmdlet. If you have separate normalization rules for each pool then you will need to run the command for each set.

To perform an in-place upgrade of your Skype for Business Server, you’ll need to do the following, in order:

(1) Stop the Skype for Business services on all of the servers that you are upgrading;

(2) Run Skype for Business Server setup (Setup.exe) on all of the servers you are upgrading;

(3) Start the Skype for Business services on all of the servers you upgraded. To start the services in a Front End pool, connect to one of the servers in the pool and run the Start-CsPool cmdlet. All the servers in the pool should be running Skype for Business Server before you use the Start-CsPool cmdlet. To start the services in all other pools (e.g. Edge pool, Mediation pool), run the Start-CsWindowsService cmdlet on every server in the pool;

Server FQDN: lyncfe01.adeo.local, Pool FQDN: lyncfe01.adeo.local

On Lync FE 01 I’ll stop all the services using Stop-cswindowsservice

clip_image042

Now on the same server I’ll load the Skype4B ISO and start the setup

D:Setupamd64Setup.exe

clip_image028[1]

clip_image029[1]

clip_image030[1]

Started at 1:40pm

clip_image043

clip_image044

clip_image045

clip_image046

clip_image047

clip_image048

NOTE:

The required time for the upgrade process is estimated around 75-90 Minutes for each FE Server.

clip_image049

clip_image050

Starting ‘Verifying upgrade readiness…’

‘Verifying upgrade readiness…’ completed successfully

Starting ‘Installing missing prerequisites…’

‘Installing missing prerequisites…’ completed successfully

Starting ‘Uninstalling roles…’

‘Uninstalling roles…’ completed successfully

Starting ‘Detaching database…’

‘Detaching database…’ completed successfully

Starting ‘Uninstalling local management services…’

‘Uninstalling local management services…’ completed successfully

Starting ‘Installing and configuring core components…’

‘Installing and configuring core components…’ completed successfully

Starting ‘Installing administrative tools…’

‘Installing administrative tools…’ completed successfully

Starting ‘Installing local management services…’

‘Installing local management services…’ completed successfully

Starting ‘Attaching database…’

‘Attaching database…’ completed successfully

Starting ‘Upgrading database…’

‘Upgrading database…’ completed successfully

Starting ‘Enabling replica…’

‘Enabling replica…’ completed successfully

Starting ‘Installing roles…’

‘Installing roles…’ completed successfully

Starting ‘Verifying installation…’

‘Verifying installation…’ completed successfully

clip_image051

 

Update of Lync FE with Monitoring, Archiving role is finished and I can login successfully without any issue.

Next guide will be for Lync Edge server

 

Hope you find this useful

Create Skype4Business Groups

If you’re looking for an quick way to let all your users easily add all Skype for Business users to their list after migration from Lync 2010/2013/Skype4business to Office 365 Skype for Business then please follow these steps ..

In order to do so, you will have to have DirSync (Azure AD Sync) installed and functioning properly.

First step: Add a group to AD

On Local AD create a Universal Distribution group as following

Note:

The group must have an e-mail address entered in the Email field otherwise it won’t show up in Lync Client list when you search.

clip_image001

Go to Members tab and add all the users that you are planning to Enable on Skype4Business.

clip_image002

Apply and close the group.

Go to DirSync

Force the Sync

clip_image003

Make sure that group has been Synced.

clip_image004

In office 365. You can check If the group is there or not by simply navigating to the Groups tab on the left pane.

clip_image005

Now Open Lync 2013 or Skype 4 Business client and search for this group by email

clip_image006

Right click the group and click Add to contacts

As soon as you add the group, all the members will come beneath it right away.

clip_image007

Hope you find this useful

About me

I’m a Microsoft Communication and Messaging Consultant, I do deployment, configuration and migration of Lync Standard and Enterprise 2010/2013 as well as Enterprise Voice integration with various types of VoIP Gateways such as Sonus, Patton and Cisco.

Exchange On-premises and Hybrid Technology 

I provide consultancy for Hybrid deployments for Exchange 2007/2010 and 2013 with Microsoft office 365. as well as migration from On-premises to Cloud. 

VoIP & Unified Communication
Having done various Lync Server deployments and integration with Exchange either on-premises or on cloud. I also provide consultancy in the previously mentioned along with configuring Lync with other soft based PBXes e.g. (Snom PBX, Brekeke, 3CX). 

Network Infrastructure

I setup networks and provide consultancy in network infrastructure for small-medium business size companies! I provide deployment, configuration for firewalls (Pfsense, Sonicwall, TMG, Untangle, IP Tables).

Hope you enjoy taking a look at my website. Please follow me on twitter to learn about the latest posts and articles.

Thanks

Add multiple endpoints port range to an Azure Virtual Machine

If you ever needed to add multiple ports or range of ports endpoints to a particular Virtual machine on Azure. you might have a difficulty doing this since it’s not allowed by design and that will require time to do this manually for range of ports. that’s where this article comes handy.

 

To achieve this first you will need to connect to your Azure subscription on Azure powershell. Azure PowerShell.

Run Azure powershell as an administrator and type the following cmdlet to get your subscription info

 

Get-AzurePublishSettingsFile

clip_image001

 

This will open a page and ask you to sign in to your Azure user account and download a file called Visual Studio Premium with MSDN-DATE-credentials.publishsettings

 

clip_image002

 

In the powershell you will have to navigate to where the file is located. And import the settings that have just been downloaded in that file

 

Import-azurepublishSettingsFile `.Visual Studio FileLocation`

 

clip_image003

 

You can check for your account and Subscription, using Get-azureaccount script

clip_image004

 

Now I have setup a ubuntu Machine on Azure that hosts Openfire Chat server which requires 10000-10005 port range for the media service. On Azure Web interface the port range option is not yet supported. The only available option is through powershell which will open the required port range for us.

 

To do so I’ll use the following cmdlet highlighting the required information to enter

 

To create endpoints for ports 10000-10005:

 

$vm = Get-AzureVM -ServiceName moh10ly -Name ubunut-mohammed ; 10000..10005 | ForEach { $VM | Add-AzureEndpoint -Name TestEndpoint$_ -Protocol TCP -LocalPort $_ -PublicPort $_} ; $vm | Update-AzureVM

 

To Acquire your service name, you can simply login to Azure portal and check out All Items and see the cloud service name .. Just like the below screenshot

 

clip_image005

 

To Check your Vmname simply navigate to Virtual machines tab and on the right side you can see the name.. I have copied it as well in the command.

 

clip_image006

 

Once you edited the cmdlet with your information you can enter it in the Powershell and enter

 

It should return something like this.

 

clip_image007

 

Once finished you can check Azure end point portal for the new ports configuration

 

clip_image008

 

Here we go .. Ports are created in Azure

 

clip_image009

 

To remove the endpoints for ports 10000-10005:

 

$vm = Get-AzureVM -ServiceName moh10ly -Name ubunut-mohammed ; 10000..10005 | ForEach { $VM | Remove-AzureEndpoint -Name TestEndpoint$_} ; $vm | Update-AzureVM

 

Azure