Showing posts with label Exchange 2013. Show all posts
Showing posts with label Exchange 2013. Show all posts

Thursday, March 27, 2014

Microsoft Exchange Server 2013 Operation Guide

Written Exchange 2013 Operation Guide which carries complete detail on basic day-to-day Exchange administration that are performed by level 1 and level 2 Exchange Administrator. This guide will be very much helpful for them to understand the basic Exchange 2013 administration. This is the draft initial copy. I will keep it updated ongoing with several other Exchange 2013 admin related task.

You can download your copy from the below url


Version 0.3 Updated on 24/03/14
  • Added few more mailbox, contact, distribution powershell cmdlet for various cases
Version 0.2 Updated on 20/03/14
  • Added messaging tracking powershell cmdlet for various cases
Version 0.1 Updated on 14/03/14:
  • Restriction of Microsoft Outlook Version for single mailbox
  • Restriction of Microsoft Outlook Version for mailbox server
  • Blocking RPC Over HTTP for Outlook Clients
  • Enable Microsoft Exchange Cached Mode for Outlook Clients
  • Disabling Pop3 and IMAP Protocol
  • Disabling access to Outlook Web Access
  • Disabling ActiveSync access
  • Exchange Server 2013 Service Administration with Powershell cmdlet
  • To Change Regional Time Zone of user mailbox
  • Adding additional folder on user mailbox
  • Adding Email Signature on User Mailbox
  • Checking the Mobile Device Statistics
  • Exchange Server 2013 Retention Policy
  • Removal of network from Exchange 2013

Please Table of Content of the document

Table of Contents

1        Introduction. 4
2        Exchange Admin Center 4
3        Installation of Exchange Server 2013 Management Tool 4
3.1          Installation of Exchange Server 2013 Management Tool in Windows 7. 4
3.2          Installation of Exchange Server 2013 Management Tool in Windows 8. 5
4        Exchange 2013 Role Based Access Control 5
4.1          Built in Role Groups. 5
4.2          Built In Management Role. 6
4.3          Exchange Server 2013 Scope Creation. 7
4.4          Role Group Creation. 7
4.5          Add Role Group Member 7
5        Operations Management 8
5.1          Mailbox Management 8
5.1.1            Creation of user mailbox using Exchange Admin Center 8
5.1.2            Creating & enabling user mailbox using Exchange Powershell 8
5.1.3            Creating Bulk User Mailbox. 8
5.1.4            Enabling and Disabling User Mailbox. 8
5.1.5            Connecting User Mailbox. 9
5.1.6            Removing User Mailbox. 9
5.1.7            Creating Resource and Room Mailbox. 9
5.1.8            Purging message content of user mailbox. 9
5.1.9            Managing Mailbox Permission for user mailbox. 9
5.1.10          Verifying the Mailbox Permission. 9
5.1.11          Enabling and disabling Auto-reply & OOF for Mailbox. 9
5.1.12          Cleaning Mailbox in Database. 10
5.1.13          To check Soft Deleted Mailbox. 10
5.1.14          To verify disconnected Mailbox. 10
5.1.15          To Connect the disconnected Mailbox. 10
5.1.16          Moving Mailbox using Exchange Powershell 10
5.1.17          Checking the Move request statistics. 10
5.1.18          Viewing Mailbox Statistics. 10
5.1.19          Finding pressure on a mailbox database. 11
5.2          Contact Management 11
5.2.1            Creating a mail contact using Exchange Admin Center 11
5.2.2            Creating a mail contact using Exchange Powershell 11
5.3          Distribution Group Management 11
5.3.1            Creating a Distribution Group using Exchange Admin Center 11
5.3.2            Creating a Distribution Group using Exchange Powershell 11
5.3.3            Members approval to add in the Group. 11
5.3.4            Sending email from the Group. 12
5.3.5            Email approval for Sending message to the Group. 12
6        Daily Tasks. 12
6.1          Performing Physical Environmental Checks. 13
6.2          Performing and Monitoring Backups. 13
6.3          Checking Disk Usage. 13
6.4          Checking Disk Space. 13
6.5          Checking the Event Viewer 14
6.6          Monitoring Server Performance. 14
6.7          Monitoring the Operating System.. 14
7        Weekly Tasks. 14
8        Monthly Tasks. 14
9        Server Administration And Maintenance. 15
9.1          Verifying the Mailbox Database copy status. 15
9.2          Step By Step Exchange 2013 Database Recovery. 15
9.3          Installing Rollups and patches on Exchange Server 2013. 16
9.3.1            Bringing mailbox server MBX01 to Maintenance. 16
9.3.2            Resuming Exchange server 2013 to normal transport processing. 17
9.3.3            Balancing the Exchange databases in DAG.. 17
9.3.4            Moving the Primary Active Manager (Optional) 18
9.4          Step by Step Exchange 2013 DataCenter Failover 18
9.4.1            Exchange DAG Terminology. 18
9.4.2            Verification of Exchange 2013 DAG Components: 19
9.4.3            Exchange 2013 Datacenter SwitchOver 20


Saturday, March 15, 2014

Unable to remove Shared Mailbox from Outlook Client 2007/2010/2013

Sometime you may observe shared mailbox are automatically added in your outook. When you try to remove them on going to Control Panel - Mail - Profile - You will not able to find them.This is due to the automapping feature of Exchange Server.

Easiest way to use Exchange Management shell as follow

Verify the Mailbox Permission of Shared Mailbox

Get-MailboxPermission -Identity 'Shared Mailbox'

Set the Automapping to False on executing the below powershell cmdlet

Add-MailboxPermission -Identity 'Shared Mailbox' -User 'Raji S' -AccessRight FullAccess -InheritanceType All -Automapping $false

If you want to completely remove shared mailbox permission for the user

Remove-MailboxPermission -Identity 'Shared Mailbox' -User 'Raji S' -AccessRight FullAccess -InheritanceType All

Schema Attribute which holds the value: msExchDelegateListLink & msExchDelegateListBL

Also check Outlook 2007/2010/2013 hotfix is installed  - http://support.microsoft.com/kb/2839517/en-us

Thursday, March 13, 2014

This attachment must be viewed in the browser before it can be downloaded

When you try to access the attachment on your Outlook Web Access sometime you may receive the error message as

"This attachment must be viewed in the browser before it can be downloaded". This may be sometime due to forcing the Web Ready document viewing on Outlook Web app virtual directory

Solution:

Verify the status on CAS Servers:

Get-owavirtualdirectory \OWA* | fl *force*
ForceWebReadyDocumentViewingFirstOnPublicComputers  : False
ForceWebReadyDocumentViewingFirstOnPrivateComputers : True
ForceWacViewingFirstOnPublicComputers               : False
ForceWacViewingFirstOnPrivateComputers              : True

In case if value are True change it to False

[PS] C:\Windows\system32>Set-owavirtualdirectory \OWA* -ForceWacViewingFirstOnPrivateComputers $false

[PS] C:\Windows\system32>Set-owavirtualdirectory \OWA* -ForceWebReadyDocumentViewingFirstOnPrivateComputers $false

[PS] C:\Windows\system32>iisreset

If you still having issue - Go to internet Explorer - Internet Option - Advanced - click Reset Advance Setting and Reset and OK. Close the browser and re-open access the url.

Verify now it should work fine.

Sunday, March 2, 2014

Exchange 2013 Datacenter Failover and Disaster Recovery

Although we have so many article over the internet for the datacenter failover and site resilency thought to summarize all of them in short note what is need on failover period instead reading 2 to 3 hours on getting the concept what we need.

Exchange 2013 Terminology

 Few terminology should be know by Exchange Administrator regarding their environment:

Primary Active Manager which runs inside the Microsoft Exchange Replication Service used to notify and react in case of server failure. The PAM owns the cluster quorum resource and holds the information about active, passive and mounted databases.

Standby Active Manager provides information of the server hosting the active copy of a mailbox database to the Client Access or Transport services.

Datacenter Activation Coordination uses a protocol called Datacenter Activation Coordination Protocol (DACP) to avoid split brain .When a DAG is running in DAC mode, When the server reboots, the Active Manager starts up the bit as 0 (Database Dismount state). It communicates with other members in the DAG when it responds the bit set to 1 and allowed to mount database

Quorum Details

Odd number of nodes --->  Node Majority
Even number of nodes (but not a multi-site cluster) --->  Node and Disk Majority
Even number of nodes, multi-site cluster --->  Node and File Share Majority
Even number of nodes, no shared storage           ---> Node and File Share Majority

Continous replication uses initial File Mode to replicate 1 MB of file to the passive database. When File Mode completes it moves to Block Mode for imediate updates

Port 3343 is used Nodes for listening incoming connections from other nodes of the DAG Members

I believe it more enough to know the definition let us move pratically what we do in our Exchange infra. It’s always good to have documentaion of the below component information which will helps in case if our servers are in disaster.

Verification of Exchange 2013 DAG Components:

  •  To verify PAM

           Get-DatabaseAvailabilityGroup -status |fl Name, PrimaryActiveManager

  • To move PAM on different DAG Member

           Cluster group  "Cluster Group" /MoveTo:

AutoDatabaseMountDial:

 Get-Mailboxserver | FL Name, AutoDatabaseMountDial

BestAvailability (default) - Copy queue length of ≤12 Logs count
GoodAvailability - Copy queue length ≤6  Logs count.
Lossless - Copy queue length Zero Log Count

Datacenter Activation Coordination (DAC)

 Get-DatabaseAvailablityGroup –Identity | FL Name, DataCenterActivationModel

To verify Quorum

 cluster /quorum

To verify Continuous Replication Mode

Get-Counter -ComputerName <> -Counter “\MSExchange Replication(*)\Continuous replication - block mode Active”

To check replication network

Get-MailboxDatabaseCopyStatus -Server -ConnectionStatus | FL Name, Incominglogcopyingnetwork, Seedingnetwork

To Check DagNetworkConfiguration

Get-DatabaseAvailabilityGroup | FL Name, ManualDagNetworkConfiguration

Check the Exchange server location in AD site

Get-ExchangeServer –Identity -Status | FL

Exchange 2013 Datacenter SwitchOver

When the primary site fails due to disaster on the odd nodes due to power Outage or server failure follow the below steps

1.      Verify the Started Server and Stopped servers in the DAG

Get-DatabaseAvailabilityGroup   -Status | FL Name, *Servers

2.       Use the Stop-DatabaseAvailabilityGroup to mark the primary site DAG members are in failed state.

Stop-DatabaseAvailabilityGroup –Identity -ActiveDirectorySite PrimarySite 

3.       Verify the Started Server and Stopped servers in the DAG

Get-DatabaseAvailabilityGroup   -Status | FL Name, *Servers

4.       Stop the cluster service in all the passive node of the secondary site

Stop-service clussvc 

5.       Use the Restore-DatabaseAvailablityGroup to remove the stoppedmailbox server from the DAG and re-establish the quorum using the alternate Witness server

Restore-DatabaseAvailabilityGroup -Activedirectorysite DR

6.       When the service or power is restored in the Primary site is up run Start-DatabaseAvailabilityGroup to revert the datacenter

Start-DatabaseAvailabilityGroup -ActiveDirectorySite ProductionSite

7.       Check out the Quorum model

Get-ClusterQuorum | fl

8.       Still if it’s show the older quorum model execute the below powershell cmdlet


DatabaseAvailabilityGroup -Identity DAG01

Thursday, February 27, 2014

Exchange 2013 Backup Status Alert

 Today created a task schedule which can able to read the backup status of all the Exchange 2013 database and provide you email report to your inbox.

This makes easier for our daily operation to review the backup status.

 Login to the Exchange Server - Go to Administrative Tools - Click Task Scheduler - Create New Task

 Task: Exchange 2013 Backup Status

 Description: To Monitor Exchange 2013 Backup Status

 Program/Script: C:\Windows\System32\WindowsPowerShell\v1.0\Powershell.exe
 Add Arugument: -Command ".'E:\Program Files\Microsoft\Exchange Server\V15\Bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; Send-MailMessage -From admin@mail.com -To rajis@mail.com,u1@mail.com -SmtpServer server.mail.com -Subject Exchange_2013_Backup_Status -body (Get-MailboxDatabase -Status * | Where-Object {$_.Mounted -like "True"} | Select-Object Identity, Mounted*, Last* | Sort-Object LastFullBackup -desc | format-table -autosize | out-string)"

 Note: Change the From Address, To Address, SMTPServer Detail according to your infra

Friday, February 21, 2014

Exchange 2013 DAG Error: The seeding operation failed. Error: An error occurred while performing the seed operation.

Exchange 2013 DAG Error: The seeding operation failed. Error: An error occurred while performing the seed operation.

 Error: Failed to open a log truncation context to source server 'Server1.Mail.Com'. Hresult: 0xc7ff1004. Error: Error returned from an ESE function call (-1305).

 Solution:
  • Remove the Passive copy database from the passive node: Remove-MailboxDatabaseCopy
  • Rename the log folder and database folder path: Add-MailboxDatabaseCopy -Identity -MailboxServer -ActivationPreference -Verbose
  • Dismount the active database again : DisMount-MailboxDatabase
  • Mount the active database again: Mount-MailboxDatabase
  • Add the passive copy database
  • Check the database copy status: Get-MailboxDatabaseCopyStatus
  • If still fails wait for few minutes then run update the database: Update-MailboxDatabaseCopy -Database only
  • Then update the catalog file: Update-MailboxDatabaseCopy -Catalog only
  • Check out the database it should be healthy state: Get-MailboxDatabaseCopyStatus

Tuesday, February 18, 2014

Exchange Server 2013 Powershell Script Task Scheduler

Sometime we try to automate the powershell script using the task scheduler. Let me explain in detail the step by step on how to move forward for Exchange Server 2013 Powershell Script in the Task Scheduler

To connect another Exchange Server Management Shell use the following command

Connect-ExchangeServer

To verify the Windows Powershell can able to execute the Exchange management Shell command.

Open the Windows Powershell - Execute the following command to verify

C:\Windows\System32\WindowsPowerShell\v1.0>Powershell.exe -PSconsoleFile "E:\Program Files\Microsoft\Exchange Server\V15\Bin\ExShell.psc1" -command Get-queue

The above command works in Exchange 2013 Mailbox Server but when we execute them in Exchange 2013 CAS Server it fails. Reason we need use to remotepowershell instead of localhost powershell

C:\Windows\System32\WindowsPowerShell\v1.0>Powershell.exe -Command ".'E:\Program Files\Microsoft\Exchange Server\V15\Bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; Get-queue"

To provide the output in the text file

C:\Windows\System32\WindowsPowerShell\v1.0>Powershell.exe -Command ".'E:\Program Files\Microsoft\Exchange Server\V15\Bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; Get-queue > C:\temp\queu.txt"
To execute the Exchange 2013 Powershell script in the Windows Powershell

C:\Windows\System32\WindowsPowerShell\v1.0>Powershell.exe -Command ".'E:\Program Files\Microsoft\Exchange Server\V15\Bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; C:\Temp\Raji\Test-ExchangeServerHealth.ps1"

To send email using the Powershell command of the Exchange 2013 Output using Windows Powershell

C:\Windows\System32\WindowsPowerShell\v1.0>Powershell.exe -Command ".'E:\Program Files\Microsoft\Exchange Server\V15\Bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; Send-MailMessage -From admin@mail.com -To user1@mail.com,user2@mail.com -SmtpServer smtp.mail.com -Subject Exchange_2013_DBStatus -body (Get-Mailboxdatabasecopystatus * | sort-object ContentIndexState | Select-Object Name,ContentindexState,Status | format-table -autosize | out-string)"
I belive this is more than enough....Now we can move how to bring them in Task Schedule

1. Open the Task Scheduler in Windows > Task Scheduler Library > Right click and “Create Task..“

Exchange 2013 Automated Health Report

2. Type a descriptive name for your task and click Next.

3. On the Trigger section, choose your schedule that fits your needs.

4. On the Action, choose “Start a program” ,Click Next.

5. On the “Start a Program” subsection, Enter:

    In the Program/Script, copy and paste

C:\Windows\System32\WindowsPowerShell\v1.0\Powershell.exe -Command ".'E:\Program Files\Microsoft\Exchange Server\V15\Bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; Send-MailMessage -From admin@mail.com -To user1@mail.com,user2@mail.com -SmtpServer smtp.mail.com -Subject Exchange_2013_DBStatus -body (Get-Mailboxdatabasecopystatus * | sort-object ContentIndexState | Select-Object Name,ContentindexState,Status | format-table -autosize | out-string)"
It prompt dialog box where it says

    In the Add Arguments (Optional) -Command ".'E:\Program Files\Microsoft\Exchange Server\V15\Bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; Send-MailMessage -From admin@mail.com -To user1@mail.com,user2@mail.com -SmtpServer smtp.mail.com -Subject Exchange_2013_DBStatus -body (Get-Mailboxdatabasecopystatus * | sort-object ContentIndexState | Select-Object Name,ContentindexState,Status | format-table -autosize | out-string)"

Say Yes - In the Start in (Optional), leave it empty

6. Click Okay

Run the task now to verify is it working fine. Schedule the time accordingly to your time when you want to get it executed.

This is similar for Exchange 2007 and 2010 except the location of RemoteExchange.PS1 file

For Exchange 2007 - C:\Program Files\Microsoft\Exchange Server\RemoteExchange.ps1
For Exchange 2010 - C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1

Monday, February 17, 2014

Exchange 2013 Mailbox Server - NTFS allocation unit size

When we allocate LUN for Exchange 2013 Mailbox Server it is always best practise to put the disk in GPT mode with 64K NTFS allocation unit size on simple volume. In higher end Exchange Infrastucture we normally move to create mount point for LUN instead of all assign drive letter for each LUN. The above things are mostly known things.

If there is question to find out NTFS allocation unit size of the existing infrastructure then we will be unable to find them over GUI. Thought to share the easy steps on how to move forward.

1. List out the mount point in your Exchange Mailbox Server -

Go to Command Prompt type MountVol

C:\Users\admin>mountvol

Possible values for VolumeName along with current mount points are:

    \\?\Volume{f702e681-1628-11e3-8682-0050569424da}\
        D:\

    \\?\Volume{f702e688-1628-11e3-8682-0050569424da}\
        E:\

    \\?\Volume{5939c82d-3cf5-4f64-bf8d-0f175e7c06bd}\
        E:\DatabaseVolume01\

    \\?\Volume{e2d6a4b9-54ca-49ec-80f3-48ab64b4649d}\
        E:\DatabaseVolume02\

    \\?\Volume{51b2137c-38a0-40fb-9def-909b840b9e9f}\
        E:\DatabaseVolume03\

2. Use the fsutil to find the NTFS allocation unit size

C:\Users\exadmin>fsutil fsinfo ntfsinfo E:\Ex-DatabaseVolume01\
NTFS Volume Serial Number :       0x34c23257c2321e14
Version :                         3.1
Number Sectors :                  0x000000007ffbefff
Total Clusters :                  0x0000000000fff7df
Free Clusters  :                  0x0000000000faadd7
Total Reserved :                  0x0000000000000000
Bytes Per Sector  :               512
Bytes Per Physical Sector :      
Bytes Per Cluster :               65536
Bytes Per FileRecord Segment    : 1024
Clusters Per FileRecord Segment : 0
Mft Valid Data Length :           0x0000000001180000
Mft Start Lcn  :                  0x000000000000c000
Mft2 Start Lcn :                  0x0000000000000001
Mft Zone Start :                  0x000000000000c040
Mft Zone End   :                  0x000000000000cca0
RM Identifier:        92E4AAAA-4645-11E3-AC43-0050569424DA

3. Divide the Bytes Per Cluster by Bytes Per FileRecord Segment (65536/1024 = 64 KB). It is acceptable to go 64KB size for Database File since the edb files are larger. The reason to have the same for log files is they are 1024KB (1MB) in size so 16 blocks would be needed for each one.

Ref: http://technet.microsoft.com/en-us/library/ee832792%28v=exchg.150%29.aspx

Saturday, February 15, 2014

Exchange 2013 Database Availability Group - How to Move Database and Log Path

Exchange 2013 Database Availability Group - How to Move Database and Log Path

Move-DatabasePath Powershell cmdlet is used to change the location path of Database and Log folder in Exchange Server 2013 . It just a simple command

To Move Both Database and Logfile

Move-Databasepath -Identity “DatabaseName” –EdbFilepath “C:\Newlocation\DBname.edb” –LogFolderpath “C:\Newlocation”

To Move Only Database

Move-Databasepath -Identity “DatabaseName” –EdbFilepath “C:\Newlocation\DBname.edb”

To Move Only Log Files 

Move-Databasepath -Identity “DatabaseName” –LogFolderpath “D:\NewLocation”

What is important to understand is - how to move the database and log path when the exchange 2013 mailbox server configured under Database availablity group. This makes some few challenges since it's holds passive copy and remote lagged copy. Follow the below step as best practise that can be helpful on moving the Database and Log Path in Exchange server 2013 mailbox server.

1. Make sure backup is perfromed successfully and log are purged for the database that needs to be moved.

Get-MailboxDatabase –Status | format-table Name,Mounted,BackupInProgress,OnlineMaintenanceInProgress

2. Remove the remote Lagged copy of the Database that new to be moved to new location in Exchange mailbox server

Remove-MailboxDatabaseCopy –Identity \ -Confirm:$False

3. Remove the Passive copy of the Database that new to be moved to new location in Exchange mailbox server

Remove-MailboxDatabaseCopy –Identity \ -Confirm:$False

4. Dismount the active copy of the database

Dismount-Database –id –Confirm:$False

5. Move the database and log folder to different location.

Move-DatabasePath –Identity –EdbFilepath “C:\Newlocation\Databasename.edb” –LogFolderpath “C:\Newlocation”

6. Mount the database

Mount-Database –id

7. Add the passive copy of the active database

Add-MailboxDatabaseCopy –id –MailboxServer –ActivationPreference

8. Add the remote passive copy of the active database

Add-MailboxDatabaseCopy –id –MailboxServer –ActivationPreference

Verification:

1. Check the database and content index are in health status - Get-Mailboxdatabsecopystatus * | Out-GridView

Note:

1. Make sure the database is not performing backup while doing the above change
2. Need's downtime since database will dismounted on perfroming this action.

Ref:  http://technet.microsoft.com/en-us/library/bb124742%28v=exchg.150%29.aspx

Saturday, February 8, 2014

Exchange Server 2013 Maximum Database Size

Exchange Server 2013 Maximum Database Size

Although Exchange Server 2013 support 16 TB of database size but still we insisit to go for 2 TB as recommendation. Is there any reason for it ?...Yes as follow

1. Larger volumes takes longer time to backup and restore
2. It takes huge amount of time for replicating larger volume to the passive copy database in case of disaster
3. Background maintenance that is performed by the managed folder assistant will utilize more time
4. The risk profile of losing a large volume or device is significantly higher than losing a smaller device or volume.
5. It utilize significantly longer to check disk for integrity if there is any type of corruption

Exchange Server 2013 Information Store and Extensible Storage Engine - Deeper Look



Exchange Server 2013 Information Store and Extensible Storage Engine - Deeper Look

In Exchange Server 2013 they have re-written the store code into managed C# code.Where there is new process called Microsoft Exchange Store Worker.exe will get created for each database located in the server. This can be seen on going to the task manager - process tab. Each Microsoft.Exchange.Store.Worker.exe is mapped with process ID (PID) on it.

To find the database for which database the Microsoft.Exchange.Store.Worker.exe holds can be verified using the below powershell command

Get-MailboxDatabase -Status | ft Name, WorkerProcessID

The Microsoft.Exchange.Store.Service.exe will be used to manage the Microsoft.Exchange.Store.Worker.exe process

Memory Calculation of Microsoft Exchange Store Worker Process.

Earlier version of Exchange we have single Store.exe process which eats up the total memory of the Exchange server. In Exchange server 2013 each Microsoft Exchange Store Worker Process will have their own set of memory.

For Example: Server Detail:
Total Memory in the server:96 GB
Total Number of Database:12 DB
Number of Active Database:6 Active DB
Number of Passive Database:6 Passive DB
Max number of Database can turn Active in the server during disaster:9 Active DB + 3 Passive DB

The maximum number of active database can be set using the powershell command 

Set-MailboxServer -ID -MaximumActiveDatabases

Detail Calculation:

Amount of Memory used for ESE is 25% RAM = 96*25/100 = 24 GB will be allocated for Max Cache
The Microsoft.Exchange.Store.Service.exe distribute this 24 GB equally to total number of Database (24 GB/12 DB = 2 GB RAM each DB)
RAM For Total Number of Active Database = 6 * 2 = 12 GB
RAM For Total Number of Passive Database it uses 20% of 2 GB RAM = 400 MB =>  6 * 400 = 2.4 GB
RAM For Exchange server at Normal Condition = 6 Active DB + 6 Passive DB = (6 * 2) + (6 * 400) = 14.4 GB
RAM For Exchange Server on Server disaster  = 9 Active DB + 3 Passive DB = (9 * 2) + (3 * 400) = 19.2 GB

Divider = (MaximumActiveDatabases × 0.8) + (number of databases × 0.2)
Max Cache Target Per Worker = (Total ESE cache allocated from server memory/Divider)

For instance, if you set the MaximumActiveDatabases to 9 for the server in question, the calculation is now:
Divider = (9 × 0.8) + (12 × 0.2) = 7.2 + 2.4 = 9.6
Max Cache Target Per Worker = (24 GB/9.6) = 2.5 GB RAM
Total Sever RAM Cache Usage = (9 × 2.5 GB) + (3 × (2.5 GB*0.20)) = 22.5 + 1.5 = 24 GB (Passive copy utlize 20% of ESE cache of Active copy)

Hence in case if the Exchange server 2013 doesn't able to provide 25% of RAM to ESE cache then Event ID 906 in the application of Warning message will be generated

Moral: The reason for increase from 2 GB RAM to 2.5 GB RAM for Each Worker is reduce the footprint of I/O operation by holding more pages in the memory. And also Exchange 2013 uses six pages in one large I/O in which the each page size of 32 KB

Tuesday, February 4, 2014

Microsoft Exchange Server 2013 Cumulative Update 5

                               Microsoft Exchange Server 2013 Cumulative Update 5

Microsoft is so advance in releasing the KB article with the issue and having the solution that will get fix in CU installation. Although we know the solution but will not get resolved since CU is not released. :)
Find the article - http://support.microsoft.com/kb/2928846/en-us?sd=rss&spid=16662

Issue:  "Email messages that you send from the shared mailbox are not saved in the Sent Items folder of the shared mailbox. Instead, the messages are saved in the Drafts folder of the primary mailbox. Additionally, the messages do not synchronize in the Outlook for Mac 2011 client and are visible only when you use Outlook Web Access or a Windows Outlook client"

Solution: Install Microsoft Exchange Server 2013 Cumulative Update 5

Monday, January 20, 2014

Exchange Server 2013 Licensing

Exchange Server 2013 Licensing

The below url provide the difference between Exchange 2013 Enterprise CAL and Standard CAL

http://office.microsoft.com/en-us/exchange/microsoft-exchange-server-licensing-licensing-overview-FX103746915.aspx

To count the number of CAL on the Exchange 2013 environment execute the following powershell command

Get-ExchangeServerAccessLicenseUser –LicenseName "Exchange Server 2013 Standard CAL"
Get-ExchangeServerAccessLicenseUser –LicenseName "Exchange Server 2013 Enterprise CAL"

Note: This is will provide the license detail as we expect. Hence few experts have wrote script to count the CAL License

Exchange 2007 - http://gallery.technet.microsoft.com/c84611c9-9ce6-42b2-8f29-e51b99410ced

Exchange 2010 - http://gallery.technet.microsoft.com/acdcb192-f226-4517-b3f9-005dce6f4fc3

Exchange 2010 SP1 - http://gallery.technet.microsoft.com/68321b75-ab3d-4e04-9fe1-6a42de23b67f#content

Exchange 2013 - https://skydrive.live.com/?cid=f9c7e7f30c1d34e2&id=F9C7E7F30C1D34E2!5567&authkey=!AI6A8VQE1Bcv-L0

Tuesday, December 3, 2013

Issue in Exchange Server 2013 Cumulative Update 3

Issue in Exchange Server 2013 Cumulative Update 3

Issue in Exchange Server 2013 Cumulative Update 3

 I am trying to list out the issue that getting arised from various experts on deploying Exchange Server 2013 Cumulative Update 3

1. Exchange 2013 CU3 causes headaches for OWA on Windows XP  - Ref: http://windowsitpro.com/blog/exchange-2013-cu3-causes-headaches-owa-windows-xp

2. PublicFolders health set is "Unhealthy" after you install Exchange Server 2013 Cumulative Update 3 - Ref: http://support.microsoft.com/kb/2911802

3. High Memory utilization of MSExchangeRPCPorxyAppPool

4. It removes HTTP to HTTPS Redirect on the Default Web Site

5. It enables SSL on the same Internet Information site.

6. It remove the Lync integration in the web.config on mailbox servers:


The blog is written to the share the knowledge mainly on Microsoft Exchange Server and other Microsoft product that experienced on day-to-day life.