Archive for June 2014

How to configure Exchange Server 2013 Virtual Directories

After you installed Exchange Server Certificate and enabled the services on Certificate like IIS, SMTP, UM etc. You will have configure the virtual directories so that you can access the resources like OWA, ECP, Autodiscover, ActiveSync, OutlookAnywhere from Exchange Server.
There are several articles available on the internet, still I thought of writing one [for myselft ;) ]
Here is the list of commands you need to run to configure the different Virtual Directories. Run Get- commands to check if you have configured the Virtual Directories properly or not.

Exchange Control Panel:
Get-ecpVirtualDirectory -Server "ExchangeServerName" | Set-ecpVirtualDirectory -InternalURL -ExternalURL
Get-ECPVirtualDirectory -Server "ExchangeServerName" | Fl InternalURL,ExternalURL

Outlook Web App:
Get-OwaVirtualDirectory -Server "ExchangeServerName" | Set-OwaVirtualDirectory -InternalURL -ExternalURL
Get-OWAVirtualDirectory -Server "ExchangeServerName" | Fl internalUrl,ExternalURL

EWS (Exchange Web Services):
Get-WebservicesVirtualDirectory -Server "ExchangeServerName" | Set-WebservicesVirtualDirectory -InternalURL -ExternalURL
Get-WebservicesVirtualDirectory -Server "ExchangeServerName" |Fl internalURL,ExternalURL

Set-ClientAccessServer "ExchangeServerName" -AutodiscoverServiceInternalUri
Get-ClientAccessServer "ExchangeServerName" | Fl AutodiscoverServiceInternalUri

Get-ActiveSyncVirtualDirectory -Server "ExchangeServerName" | Set-ActiveSyncVirtualDirectory -InternalURL -ExternalURL
Get-ActiveSyncVirtualDirectory -Server "ExchangeServerName" | Fl InternalURL,ExternalURL

Offline Address Book:
Get-OABVirtualDirectory -Server "ExchangeServerName" | Set-OABVirtualDirectory -InternalUrl -ExternalURL
Get-OABVirtualDirectory -Server "ExchangeServerName" | Fl InternalURL,ExternalURL


Set-OutlookAnywhere -Identity "ExchangeServerName"\Rpc (Default Web Site)" -InternalHostname -ExternalHostName -InternalClientAuthenticationMethod ntlm -InternalClientsRequireSsl:$True -ExternalClientAuthenticationMethod Basic -ExternalClientsRequireSsl:$True
Get-OutlookAnywhere -Identity "ExchangeServerName"\rpc (Default Web Site)" |fl InternalHostName,InternalClientAuthenticationMethod,InternalClientsRequiressl,


BitTitan Data Encryption for your email in the cloud

Maintain ownership and control of your information with BitTitan Data Encryption, a monthly service that ensures your company’s internal email security by encrypting your Office 365 Outlook data. BitTitan Data Encryption, the latest addition to the BitTitan suite of offerings, provides a persistent layer of protection for your email in the cloud.
Moving to the cloud makes a lot of sense – it saves money, simplifies support, and allows a flexible approach to IT as your company grows. It’s definitely the best option in today’s marketplace. But when you give up control and place your vital information in someone else’s hands, there are security and privacy questions you need to consider:
  • How do you make sure that your information stays private?
  • Where are the keys that protect your data stored?
  • How do you prevent loss of information from theft, accidents, or government snooping?
  • Do your existing security measures account for all states of data? At rest, in use, and in transit?
  • How do you make sure you are complying with laws that make you fully liable for the protection of private personal, medical, or financial information you handle?
    For more information visit 

    Script to get Mailbox Information

    I was deploying archiving solution for Exchange 2010 for more than 20K seats environment. And I have been asked by the vendor to find certain information for all the Mailboxes in exchange environment, like TotalItemSize, TotalDeletedItemSize, ItemCount and DeletedItemCount.

    I came up with the below script which made the JOB easy. I ran the script per Exchange Server, but you can also run it per Mailbox Database, you just need to change the switch from -Server to -Database.

    Get-Mailbox -Server "MailboxServerName" -ResultSize Unlimited -IgnoreDefaultScope -RecipientTypeDetails UserMailbox,RoomMailbox,EquipmentMailbox,SharedMailbox | Get-MailboxStatistics | Select DisplayName,@{expression={$_.TotalItemSize.value.ToMB()};label="TotalItemSize(MB)"},@{expression={$_.TotalDeletedItemSize.Value.ToMB()};Label="TotalDeletedItemSize(MB)"},ItemCount,DeletedItemCount,Database,OrganizationalUnit | Export-Csv C:\temp\Content.csv

    If you want to run it across your Exchange environment without using Server or Database switch, then just run Get-Mailbox only.
    You can also add other attributes like SentItems, Attachment etc. to the script.
    This script can be run on Exchange Server 2010 and 2013.