Category Archives: Microsoft Exchange

Everything related to Exchange

Owa Redirection results in 401 Unauthorized access message

I have been asked by one client of mine to do a redirection to their mail.domain.com to go directly to the Owa page but after applying the redirection configuration I faced an issue.

Whenever I try to go to the OWA page using only the FQDN mail.domain.com I get a 401 unauthorized access page.

Resolution:

The solution was to add authenticated users to wwwroot with full permission and restart the IIS with noforce parameter.

OWA an unexpected error occurred and your request couldn’t be handled

OWA Displays Unexpected Error

OWA experinces an unexpected error when you try to browse and your request couldn’t be handled

Symptoms

In Exchange 2010, 2013 you might get an error in OWA when trying to access calendar.

Screenshot

Cause and Resolution 1:

This error could happen to you if you set a redirection of OWA has been configured. To fix the issue simply remove the redirect option.

Resolution 2:

Another resolution that works without turning Redirection off for default site is to turn off redirection from the Public folder.

Reference


Outlook 2007 prompting users for Credentials

OUTLOOK 2007 KEEPS PROMPTING USERS FOR PASSWORD

After migration from Exchange 2003 to Exchange 2010 outlook 2007 keeps prompting users for password:

Symptoms

After you migrate Exchange 2003 to Exchange 2010, some outlook client users keep getting prompted to enter their credentials again.

Cause

The problem might be related to the authentication method used on Outlook Anywhere. (Basic Authentication).

The recommended approach is to use NTLM authentication which keeps credentials cached.

Resolution:

Changing the authentication method of Outlook anywhere to NTLM will resolve the issue.

Ref:

https://support.microsoft.com/en-au/help/956531/outlook-2007-prompts-you-repeatedly-for-a-password-under-certain-netwo

Offline Address book Issue after migration from Exchange 2003 to Exchange 2010

OFFLINE ADDRESS BOOK ISSUE AFTER MIGRATION FROM EXCHANGE 2003 TO EXCHANGE 2010

Error: event ID: 9360 OABGen encountered an error while generating the changes.oab file for version 2 and 3 differential downloads of address list

RESOLUTION 1

Important This section, method, or task contains steps that tell you how to modify the registry. However, serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, click the following article number to view the article in the Microsoft Knowledge Base:

322756 How to back up and restore the registry in Windows

To resolve this issue, follow these steps on the server that is running Exchange Server 2003:

  1. Click Start, click Run, type regedit in the Open box, and then click OK.
  2. Locate and then right-click the following registry subkey:
  3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeSA\Parameters
  4. Point to New, and then click DWORD Value.
  5. Type OAL post full if diff fails to name the new value.
  6. Right-click OAL post full if diff fails, and then click Modify.
  7. In the Value data box, type 1, and then click OK.
  8. Exit Registry Editor.
  9. Dismount and then mount the Public Folder Store again. To dismount and then mount the public folder store, follow these steps:
    1. Start Exchange System Manager.
    2. Expand Servers, expand the server that you want, expand Storage_Group_Name, and then right-click Public Folder Store.
    3. Note If administrative groups are defined, follow these steps:
      • Expand Administrative Groups.
      • Expand Administrative_Group_Name.
      • Expand Servers.
      • Expand the server that you want.
      • Expand Storage_Group_Name.
      • Right-click Public Folder Store.
    4. Click Dismount Store, and then click Yes to continue.
    5. Right-click Public Folder Store, click Mount Store, and then click OK.

A new parent Legacy Exchange DN container value ‘/o=HEMA/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients’ was found during generation of the differential update file for offline address list ‘\Global Address List’. This will force clients using this offline address list to do a full download of the offline address list.

– \Default Offline Address List

Resolution 2:

If the first resolution didn’t work, try to disable version 2 and 3 OAB, then update again and see if you get any errors.

Note that this may take some time to take effect.

New Mailbox migration suspended or queued with the error below generated

Detailed Error:

Database redundancy health check failed.

Database copy: DATABASE_3

Redundancy count: 1

Error: Passive copy ‘DATABASE_3\EXCH02’ is not in a good state. Status: DisconnectedAndResynchronizing.

Name Status RealCopyQueu InspectorQue ReplayQueue CIState

e ue

—- —— ———— ———— ———– ——-

DATABASE_3\EX Disconnected And Resynchronizing 426 0 0 Healthy

CH02

DATABASE_3\EX Mounted 0 0 0 Healthy

CH01

===============

Full Status

===============

Identity : DATABASE_3\EXCH02

Name : DATABASE_3\EXCH02

DatabaseName : DATABASE_3

Status : DisconnectedAndResynchronizing

MailboxServer : EXCH02

ActiveDatabaseCopy : exch01

ActivationSuspended : False

ActionInitiator : Unknown

ErrorMessage : The Microsoft Exchange Replication service w

as unable to perform an incremental reseed o

f database copy ‘DATABASE_3\EXCH02’ due to a

network error. The database copy status wil

l be set to Disconnected. Error An error occ

urred while communicating with server ‘EXCH0

1′. Error: Unable to read data from the tran

sport connection: A connection attempt faile

d because the connected party did not proper

ly respond after a period of time, or establ

ished connection failed because connected ho

st has failed to respond.

ErrorEventId : 2058

ExtendedErrorInfo :

SuspendComment :

SinglePageRestore : 0

ContentIndexState : Healthy

ContentIndexErrorMessage :

CopyQueueLength : 426

ReplayQueueLength : 0

LatestAvailableLogTime : 14.01.2014 07:13:37

LastCopyNotificationedLogTime : 14.01.2014 07:13:37

LastCopiedLogTime : 14.01.2014 07:11:52

LastInspectedLogTime : 14.01.2014 07:11:52

LastReplayedLogTime : 14.01.2014 07:11:52

LastLogGenerated : 592826

LastLogCopyNotified : 592400

LastLogCopied : 592400

LastLogInspected : 592400

LastLogReplayed : 592400

LogsReplayedSinceInstanceStart : 0

LogsCopiedSinceInstanceStart : 0

LatestFullBackupTime :

LatestIncrementalBackupTime :

LatestDifferentialBackupTime :

LatestCopyBackupTime :

SnapshotBackup :

SnapshotLatestFullBackup :

SnapshotLatestIncrementalBackup :

SnapshotLatestDifferentialBackup :

SnapshotLatestCopyBackup :

LogReplayQueueIncreasing : False

LogCopyQueueIncreasing : False

OutstandingDumpsterRequests : {}

OutgoingConnections :

IncomingLogCopyingNetwork :

SeedingNetwork :

ActiveCopy : False

Identity : DATABASE_3\EXCH01

Name : DATABASE_3\EXCH01

DatabaseName : DATABASE_3

Status : Mounted

MailboxServer : EXCH01

ActiveDatabaseCopy : exch01

ActivationSuspended : False

ActionInitiator : Service

ErrorMessage :

ErrorEventId :

ExtendedErrorInfo :

SuspendComment :

SinglePageRestore : 0

ContentIndexState : Healthy

ContentIndexErrorMessage :

CopyQueueLength : 0

ReplayQueueLength : 0

LatestAvailableLogTime :

LastCopyNotificationedLogTime :

LastCopiedLogTime :

LastInspectedLogTime :

LastReplayedLogTime :

LastLogGenerated : 0

LastLogCopyNotified : 0

LastLogCopied : 0

LastLogInspected : 0

LastLogReplayed : 0

LogsReplayedSinceInstanceStart : 0

LogsCopiedSinceInstanceStart : 0

LatestFullBackupTime :

LatestIncrementalBackupTime :

LatestDifferentialBackupTime :

LatestCopyBackupTime :

SnapshotBackup :

SnapshotLatestFullBackup :

SnapshotLatestIncrementalBackup :

SnapshotLatestDifferentialBackup :

SnapshotLatestCopyBackup :

LogReplayQueueIncreasing : False

LogCopyQueueIncreasing : False

OutstandingDumpsterRequests : {}

OutgoingConnections :

IncomingLogCopyingNetwork :

SeedingNetwork :

ActiveCopy : True

Resolution:

To resolve this issue, check if the database which is having the issue is over 1TB and if that’s the case try to remove some users from this database to another database.

To view the users of this database using the following powershell cmdlet.

Get-MailboxDatabase “Mailbox Database 1” | Get-MailboxStatistics | Sort totalitemsize -desc | Export-CSV C:\mailboxes.csv

Installing “Only” Trend Micro 11.0 on Exchange 2013 server

This guide will show you how to installing order to Install “Only” Trend Micro 11.0 on Exchange 2013 server

You will have to make sure that before you install Trend Micro you have enough resources on the mail servers or Edge servers depending on where you are intending to install it.

Prerequisites:

  1. You will need to install Windows IIS CGI role.
  2. Net Framework 3.5
  3. Trend Micro Setup.

If you did not install CGI you will get the following error, so you must install it

clip_image001

To install it you will need to go to Add Roles and then choose and install it.

clip_image002

If Net Framework 3.5 is not install the setup won’t proceed unless you do so and you will get the following error:

clip_image003

To install Net Framework 3.5 , you can use the wizard or you can use the Powershell but you’ll need to attach Windows Server ISO File to the VM or the physical machine.

clip_image004

Setup will restart from the beginning

NetFrame work fails from the Server Manager

clip_image005

Instead, I imported the Windows 2012 r2 server ISO into the VM and ran the powershell command line

Dism /online /enable-feature /featurename:NetFx3 /All /Source:D:\sources\sxs /LimitAccess

Where D is the ISO drive name where Windows is.

clip_image006

Restarted the Trend Micro Setup and the setup is working

I already have copied the setup files on my mailbox servers, in my scenario I have 2 mail box servers which I am going to install it on.

I will launch the setup and go through the following wizard

clip_image007

As I mentioned earlier, I am planning to install it on Exchange 2013 Mailbox servers, so I will go ahead and choose Mailbox servers

clip_image008

I will click Browse and Add exchange servers and as in the following snapshot it’ll show me total server count

clip_image009

Next I will type the Exchange Admin account which I used to setup Exchange with and login to the admin Center which is also a local admin.

clip_image010

This is set by default so you will need to leave it as it is.

clip_image011

You can keep the following default settings or change the port in case it’s already used or enable SSL.

clip_image012

In my case I will enable SSL as well as it’s more preferable for security purposes.

clip_image013

Trend micro setup will check if there’s any previous instance on the target Mailbox server in order to check if it’s an upgrade or a fresh install.

clip_image014

I have no proxy so I will proceed without it.

clip_image015

I’m planning to ignore this now and register later, so you can provide the key if you already have it and want to register.

clip_image016

When you continue without activating the product you will get the following warning.

clip_image017

Depending on if you wanna be useful or not, you can just to participate with this program or just ignore it.

clip_image018

In case you would like to direct or send all incoming spam messages to the user to take the decision him/her self you can choose to integrate with Outlook junk e-mail or integrate with End user’s quarantine. In this case incoming infected or suspicious mails will be delivered to the user’s Quarantine but can be restored from/with trend micro.

clip_image019

Trend Micro have also a control manager for centralized management, so if you have it you can configure it and manage all those scanmail from one location. If not then just click next

clip_image020

Click browse and choose your domain in order to select the domain admin groups to manage the trend micro scan mail application.

clip_image021

All server details and configuration is going to be listed in the next snapshot.

clip_image022

And now installation should start.

clip_image023
clip_image024
clip_image025

The credentials to login might be standard but you could also try your domain admin which you have assigned during the setup to login to the portal.

clip_image026

Any configuration that you do on the Mailbox server 1, you will have to re-do it on Server 2 since this is not centralized management.

clip_image027

So first thing I’ll do is update the product to the latest version.

clip_image028

After selecting the components to update click on Update and wait for the process to finish.

clip_image029

After setting and configuring couple of rules and restarting Exchange transport service on each server . I was able to test It and see that it works as in the following snapshot.

clip_image030

Extend MS Exchange Server’s Certificate life

On the Certification Authority Server open Certification Authority Console (MMC)

Right click on Certificate Templates and click Manage

IN certificate templates console right click on Web Server and click Duplicate template

Select Windows Server 2003 Enterprise

Enable “Allow private key to be exported”

Under security tab Select Enroll for the Authenticated users

Back to the Certificate Authority Console, Right click on Certificate Templates and click New -> Certificate template to issue and add the certificate template you created to the list.

Web Server V2 is on top

Let’s check it on Certserv IIS

Certificate is generated for 5 years. The reason why the certificate is generated for 5 years is because the Certification Authority server’s Certificate is limited to 5 years.

So the CA certificate must be set to longer then the client’s requested Certificate limit.

Certification Authority Issuing Certificate validity period extending

To change the Validity Period for the Root CA you can configure a CAPolicy.inf. To create a CAPolicy.inf file that changes the lifietime of the certificate to 30 years, you would type the following into a text file, and save it with the name CAPolicy.inf in the C:\Windows directory,:

[Version]

Signature= “$Windows NT$”

[Certsrv_Server]

RenewalValidityPeriod=Years

RenewalValidityPeriodUnits=30

After this you will need to renew the CA certificate from the CA console : right click on your certification authority and choose All Tasks -> then choose -> Renew CA Certificate

When you click on Renew CA certificate you will get the following prompt asking you to stop the CA to renew its Certificate, Click Yes

Once you click on Yes the service will stop and you will get this window telling you if you would like to generate new public and private key it’s up to you to use a new or not but if you choose Yes the clients using the old Certificate might be provoked and you might need to install the new CA Certificate on all clients using GPO.

Click Ok

After clicking OK you will see that you were able to generate the new CA Certificate and then you can issue clients certificates

Note: I created another template with 30 years expiration date this time after I created the CA policy for 30 years too.

Now In order to allow the CA to issue certificates that has longer than the default age (2 years) you must run the following command line on the CMD on the CA server.

And here we go, after requesting the certificate from the server I got 30 years valid certificate.

Exporting and Importing PST from Exchange 2003 to Exchange 2013

In order to export mails from Exchange 2003 (should not exceed 2 GB) you will have to copy Administrator user into another user “admin” and give that user the rights to access all other mailboxes.

You will have to navigate to the Mailbox store

clip_image001

Right click the mailbox store and click on Properties

Go to Security tab and add the new user (Admin) and give it full control as below

clip_image002

Apply, then sign out of the windows session to the Exchange machine and use the newly added domain admin to login and then open the Exmerge application

clip_image003

Select the second step (Extract or Import)

clip_image004

Select step1

clip_image005

Select the Exchange name and the DC (They should be set automatically)

clip_image006

Select the users that you want to be exported (shouldn’t exceed 2 GB).

clip_image007

Select the local language

clip_image008

Select the destination folder (In my case I mapped a network drive)

clip_image009

Save settings for later use if you want or just click Next.

clip_image010

Once done, the mailbox will be exported.

clip_image011

Importing into Exchange 2013

In exchange 2013 Open the EMS as administrator

Before you start, you should move all the PST files into a shared folder in the network and add the “Exchange Trusted Subsystem” user to its permission.

clip_image001[5]
clip_image002[5]

The same user should be added to the security tab

clip_image003[4]
clip_image004[4]

Providing import and export permission on Exchange 2013

In order to import the PST files to Exchange 2013 users you will have first to assign the Exchange Admin account the capability of importing these PST files then sign out from the EAC portal and back in

To do so you will have to go to EAC then go to Permissions and double click on the Recipient Management

Click Add and select the Mailbox Import Export and click Add then OK

clip_image005[4]
clip_image006[4]

I will add members to this role group

clip_image007[4]
clip_image008[4]

After signing in back to the EAC with the administrator I got the Import PST options.

clip_image009[4]
clip_image010[4]
clip_image011[4]
clip_image012

For Management shell usage

http://technet.microsoft.com/en-us/library/ff607310(v=exchg.150).aspx

Importing PST using EAC and following up with EMS

clip_image013

Importing Single folder from source PST file into a target folder in email

Importing the folder Sent Items from the file basakc_backup.pst into target folder Sent Items in Mhamada user.

Note:

The parameter -TargetRootFolder will create a folder inside the existing Sent Items folder

clip_image014
clip_image015
clip_image016
clip_image017
clip_image018
clip_image019

Importing large items into mailbox in Exchange

clip_image020

Exchange 2013 not installing due to pending restart on Windows 2012

Error:

A reboot from a previous installation is pending. Please restart the system and then rerun Setup.

For more information, visit

Solution:

Delete the below key from the registry:

HKLM\SYSTEM\CurrentControlSet\Control\SessionManager\PendingFileRenameOperations

Step by Step Installating Exchange server 2013 from scratch (Part 1)

Step by Step Installing Exchange server 2013 from scratch (Part 1)

In this part, I will be demonstrate how to Install exchange 2013 and prepare new Databases along with preparing the servers for high availability (DAG).

Prerequisites:

– Two Microsoft Windows 2012 R2 servers with 16 GB ram and 200GB disk divided unto two partitions.

– Two NIC, one for MAPI and one for replication.

– Exchange 2013 CU8 setup to directly go to the latest available update.

Installing Prerequisites on all exchange servers

Launch Powershell as administrator and copy then paste the following.

Install-WindowsFeature RSAT-ADDS

From <http://technet.microsoft.com/en-us/library/bb691354(v=exchg.150).aspx>

When finished continue with the following Cmdlet on each Exchange server.

  • Install only the Mailbox server role on a computer.
  • Install only the Client Access server role on a computer.
  • Install both the Mailbox and Client Access server roles on the same computer.

Install-WindowsFeature AS-HTTP-Activation, Desktop-Experience, NET-Framework-45-Features, RPC-over-HTTP-proxy, RSAT-Clustering, RSAT-Clustering-CmdInterface, RSAT-Clustering-Mgmt, RSAT-Clustering-PowerShell, Web-Mgmt-Console, WAS-Process-Model, Web-Asp-Net45, Web-Basic-Auth, Web-Client-Auth, Web-Digest-Auth, Web-Dir-Browsing, Web-Dyn-Compression, Web-Http-Errors, Web-Http-Logging, Web-Http-Redirect, Web-Http-Tracing, Web-ISAPI-Ext, Web-ISAPI-Filter, Web-Lgcy-Mgmt-Console, Web-Metabase, Web-Mgmt-Console, Web-Mgmt-Service, Web-Net-Ext45, Web-Request-Monitor, Web-Server, Web-Stat-Compression, Web-Static-Content, Web-Windows-Auth, Web-WMI, Windows-Identity-Foundation

From <http://technet.microsoft.com/en-us/library/bb691354(v=exchg.150).aspx>

First thing we extract the setup file and then from command line as administrator we run Setup as below

Setup /PrepareSchema /IAcceptExchangeServerLicenseTerms

clip_image001

setup /PrepareAd /IacceptExchangeServerLicenseTerms /OrganizationName: Organization Name

clip_image002

Setup /Preparedomain /IAcceptExchangeServerLicenseTerms

clip_image003

Setup /PrepareAllDomains /IAcceptExchangeServerLicenseTerms

clip_image004

You should download and install the following software prerequisites as per Microsoft’s TechNet article regarding the installation. the software is available the link I posted earlier above or through this link Exchange_Prerequesties

clip_image005
clip_image006

After running all the prerequisites , we can start installation of Exchange 2013

clip_image007
clip_image008
clip_image009
clip_image010
clip_image011
clip_image012
clip_image013
clip_image014

Here I am going to change Exchange’s default installation path and place it on a different partition to avoid any data loss in case of Windows server crash or booting issues.

clip_image015
clip_image016
clip_image017
clip_image018
clip_image019

Now we install the second Exchange server, that will hold the same roles on it as the first one (Mailbox and CAS).

The steps are going to be exactly the same except that you won’t have to prepare the schema or AD since it’s already prepared.

Installation has finished for both servers

clip_image020

Creating DATABASES:

NOTE:

It’s better to mount the database upon creation and not restart the IS instantly after that.

Now it’s time to create new Databases and replace them with the default ones that come with the Installation

First we’ll have to start off by creating our targeted databases which we want to use them. Note that for the standard version of Exchange 2013 you can only create up to 5 databases per mailbox server.

In order to demonstrate all benefits of Exchange 2013 and its features including DAG. I will create 2 databases. One database on each server.

The first database will be called DB1SRV1

clip_image021

As soon as we have created the Database, we faced the following error with event ID 106

clip_image022

Then another warnıng from MSExchangeFastSearch wıth event id 1006

clip_image023

This indicates that a database should not be mounted upon creation, you should untick the mount DB option when you create one.

After waiting a bit the following logs should appear and show a healthy indexing start.

clip_image024
clip_image025

Once the DB has been created, Exchange AC will require that you restart the IS (Information store Service) in order for replication to happen without an issue.

clip_image026

Database is showing healthy and no issues so far.

clip_image027

Now we’ll create a new DB on the second server without ticking the mount DB option.

clip_image028
clip_image029

Microsoft Exchange Server Locator Service failed to find active server for database ‘de5f3051-c202-4976-b8e4-65bbbe0c2395’. Error: The database with ID de5f3051-c202-4976-b8e4-65bbbe0c2395 couldn’t be found.

clip_image030

The same exact errors came after creating the Database without mounting it.

clip_image031

Now let’s restart the IS service and mount our database then see what happens..

clip_image032

Upon restarting the service, we get the following error which is related to the MS Exchange replication service . It noticed that the database that we have created has never been mounted in order to start the indexing.

clip_image033

Let’s mount the database and see the changes

clip_image034

Mounting the database have got the AM to report successfully and after couple of seconds the MSExchangeFastSearch will check out if the database have any indexing files.

clip_image035

No indexing state have been found and so the FastSearch service will give you a 1013 warning report. This is a good warning because it reports that the service is working properly and that it will create the indexing folder after couple of minutes as we’ll see later.

It takes approximately 3-5 minutes for the database to start the indexing.

clip_image036

Now on the EAC, the DB should report healthy. Let’s see

clip_image037

Removing Default databases

First step before deleting the default databases is to move any system mailboxes or arbitrary mailboxes in them to the newly created databases…

Paul Cunningham wrote a great article on how to do this using Powershell … in the following link

Get-Mailbox -Database “Mailbox Database 2” | New-MoveRequest -TargetDatabase “Mailbox Database 1”

First we’ll have to copy the default databases’ names in notepad to run the command properly.

Get-Mailbox -Database “Mailbox Database 0043173996” | New-MoveRequest -TargetDatabase “DB1SRV1”

clip_image038

Time to remove arbitrary mailboxes from the default DB to the new DBs

The command is going to look like this

Get-Mailbox -Database “Mailbox Database 0043173996” -Arbitration | New-MoveRequest -TargetDatabase “DB1SRV1”

clip_image039

All mailboxes have already been moved to the new DB, now let’s check if there’s anything left in the Old DB.

clip_image040

To remove the DB, you will have to type the following command in EMC:

Remove-MailboxDatabase -Identity “Mailbox Database 0043173996”

clip_image041

The warning above is apparently due to Exchange permission on AD. It has been described in detail on how to solve this warning by Nuno Mota in the following Link.

From<http://www.msexchange.org/kbase/ExchangeServerTips/ExchangeServer2013/ManagementAdministration/exchange-2013-error-deleting-database.html>

For the second server, You will have to repeat the same steps as on the first deleted MB Database.

clip_image042

Hope you like this, Stay tuned for the second part