ExchangeBytes

Exchange and Related Technologies

  • Home
  • About ME
  • Cool PowerShell Scripts
  • Resume
Twitter RSS

Exchange 2010 Mailbox Auto-Mapping Confusion

Posted on April 26, 2012 by DeanSesko
No Comments

It is always nice working with smart people, especially when they do all of the work of documenting problems and resolutions.  Joe Palarchio did a nice write up on an issue that we were working on together.  Read the Full post Here

http://www.itworkedinthelab.com/2012/04/exchange-2010-mailbox-auto-mapping-confusion/

 

Tweet
Categories: Exchange | Tags: Auto-Mapping, Dean Sesko, Exchange 2010, Joe Palarchio

Exchange 2010: Benefits of Always Creating a CAS Array and Using Windows Enterprise

Posted on February 3, 2012 by DeanSesko
No Comments

The CAS Array

One of my customers purchased a Load balancer and was in the process of adding a second Exchange server to their environment when I got a call when things were not working out as they had planned/expected.  They setup the DAG and a new Hardware load balancer and moved the database back and forth and everything seemed to be ok.  But, when they shut down the first server, all of the clients disconnected and would not connect to the database even thought it was mounted and healthy.  As soon as the first node was brought back online all the clients would reconnect.  Before I could speak, they informed me that they created a CAS array and changed the RPCClientAccessServer value on each of the databases to the newly created CAS Array and pointed the CAS array IP address to the Network Load Balancer.  At this point I had to break the bad news to them.

When a single Exchange 2010 Server is installed the default database and any other databases created on that server will use the local CAS server name as the RPCClientAccessServer value.  This value tells Exchange what client access server to use to gain access to the database.  Once users are added to the system and outlook is configured they will continue to use this value even if you change it to a new server or a CAS Array Name.  This happens because the clients can still talk to the databases using the old value and the clients says “why update I am working”.  To fix this issue you can do one of three different things:

1.  Run a repair in the outlook profile.

2. Create a new Outlook profile.

3.  Make the old value unresolvable in DNS.

Option 1 or 2 although time consuming will probably be your best bet.  Making the old value in DNS unresolvable would probably cause a lot of issue and or break your current Exchange setup.

To avoid this scenario, always create a CAS Array as soon as you are done installing Exchange 2010, even if you are only going to have a single server in the site.  Adding a new server into the same site will not required changes to the outlook client and make your projects go smoother.  Below are a few PowerShell commands to help you determine and set the RPCClientAccessServer value

Get-MailboxDatabase |FT Name,RPCclientAccessServer

Set-MailboxDatabase –id DB1 –RPCclientAccessServer MyCasArray.company.com

 

Windows Enterprise

Like the CAS Array, a little bit of prior planning can save you a lot of work in the future.  When installing Exchange 2010 it is my recommendation to always use the Enterprise edition of the OS,  even if you are only deploying a single server in the site.  An Exchange Database Availability Group(DAG) member requires components only available in the Enterprise and Datacenter editions of the OS.  Adding or removing a servers in a DAG is relatively simple and can be done without user interruption however, once the OS and Exchange are installed you can’t change from standard to Enterprise.  Now, I have heard of people using a hack to change from standard to enterprise but, this is not supported by the Exchange product team and could cause major issues with your Exchange Server.  In summary, always using a CAS Array and installing Exchange 2010 on the Enterprise Edition of Windows Server can save lots of time and money.

Have any questions for Comments don’t hesitate to ask

 

 

Tweet
Categories: Exchange | Tags: AutoDiscover, Client Access, DAG, Database Availability Group, Dean Sesko, Enterprise Edition, Exchange 2010, Hardware Load Balancer, High Availability, NLB, Outlook, Outlook Profile, PowerShell, RPCClientAccessServer, Standard Edition, Windows 2008 R2

Is Exchange 2000/2003 a Ticking Time Bomb?

Posted on February 2, 2012 by DeanSesko
No Comments

Microsoft Exchange Server uses a transactional database architecture. This means that all database transactions are stored in Log files. Exchange versions prior to Exchange 2007 used a 5MB file with a unique naming convention. The log file name is a sequential Hexadecimal number starting with log file E0000001.log. Once the Log File is full of changes the next log file in the sequence is created E0000002.log. Exchange continues to do this until exactly 1,030,000 log files have been created (E00FFFFF.log) and then “HOUSTON WE HAVE A PROBLEM”. Now before we get to the fix, just how big of a deal is this? 1,030,000 is a lot of transaction logs files that can be generated and we should never run out right?. However, some Exchange 2000/2003 Servers have been in production for 10+ years. If we do the math on the number of maximum available logs and divide that by 3650 (10 Years) we can roughly estimate 282 log files a day or 1410 MB of email transactions per day. For smaller organizations this would seem like a significant amount of space on a daily basis considering weekends and holidays when email traffic is lessened. Unfortunately, even smaller Exchange Server shops run 24X7 365 days a years and Exchange is never down and constantly sending and receiving email.

Now, here is some detailed explanations before we all go running and screaming that the sky is falling. These log files are generated per storage group and per server. So, multiple storage groups reduce the possibility of hitting the max. Other activities such as stopping the database and deleting the checkpoint file and all transaction logs will reset the sequence back to E0000001.log. It is not recommended to perform these activities frequently as they can cause issue with backup and restore, they are sometime performed during database maintenance and or recovery.

So what do you do if you hit the max? Thankfully the folks over at Microsoft have already written an article explaining what to do. Check out this link to do some additional reading.

In summary check your log files and event viewer to figure out how much time you can run before action must be taken.

Tweet
Categories: Exchange | Tags: Dean Sesko, Exchange 2000, Exchange 2003, Log Limit, log sequence, Transaction Logs

Exchange 2010 ActiveSync Device Info

Posted on January 26, 2012 by DeanSesko
3 Comments

Exchange Administrators always want to know who and what is connecting to their Exchange environment.  Commands like Get-ActiveSyncDevice and Get-ActiveSyncDeviceStatistics provide lots of information but leave out some of the desired details or make it hard to read.  With that being said i have done a little reworking of a script written over at Glen’s Exchange Dev Blog  to run right inside of the Exchange 2010 Management Shell.

In larger Exchange environments the get-mailbox command down in the code would need to be changed to get-mailbox -ResultSize unlimited.

If you want the output to be in a file change the last line from |FT to |Export-csv C:\Mobile.csv

$HWVersions = @{
"Apple-iPad" = "iPad";
"Apple-iPad1C1" = "iPad";
"Apple-iPad2C1" = "iPad 2";
"Apple-iPad2C2" = "iPad 2";
"Apple-iPad2C3" = "iPad 2";
"Apple-iPhone" = "iPhone";
"Apple-iPhone1C2" = "iPhone 3G";
"Apple-iPhone2C1" = "iPhone 3GS";
"Apple-iPhone3C1" = "iPhone 4";
"Apple-iPhone3C3" = "iPhone 4";
"Apple-iPhone4C1" = "iPhone 4S";
"Apple-iPod" = "iPod Touch";
"Apple-iPod2C1" = "iPod Touch 2";
"Apple-iPod3C1" = "iPod Touch 3";
"Apple-iPod4C1" = "iPod Touch 4";
}

$IOSVersions = @{
"508.11" = "2.2.1";
"701.341" = "3.0";
"701.400" = "3.0.1";
"702.367" = "3.2";
"702.405" = "3.2.1";
"702.500" = "3.2.2";
"703.144" = "3.1";
"704.11" = "3.1.2";
"705.18" = "3.1.3";
"801.293" = "4.0";
"801.306" = "4.0.1";
"801.400" = "4.0.2";
"802.117" = "4.1";
"802.118" = "4.1";
"803.148" = "4.2.1";
"803.14800001" = "4.2.1";
"805.128" = "4.2.5";
"805.200" = "4.2.6";
"805.303" = "4.2.7";
"805.401" = "4.2.8";
"805.501" = "4.2.9";
"805.600" = "4.2.10";
"806.190" = "4.3";
"806.191" = "4.3";
"807.4" = "4.3.1";
"808.7" = "4.3.2";
"808.8" = "4.3.2";
"810.2" = "4.3.3";
"810.3" = "4.3.3";
"811.2" = "4.3.4";
"812.1" = "4.3.5";
"901.334" = "5.0";
"901.405" = "5.0.1"
"902.179" = "5.1"
}

$Resultset = foreach($mbx in get-mailbox -ResultSize unlimited) {Get-ActiveSyncDeviceStatistics -Mailbox:$mbx.Identity |Select-Object @{name="Username";expression={$mbx.name}},DeviceType,@{name="Device";expression={$_.DeviceUserAgent.ToString().Split("/")[0]}},@{name="OSVersion";expression={$_.DeviceUserAgent.ToString().Split("/")[1]}},LastSuccessSync}
$Output= @()
ForEach ($Line in $Resultset) {
$Object = "" | Select-Object Username,DeviceType,Device,Version,LastSuccessSync
$Object.UserName= $line.Username
$Object.DeviceType =$Line.DeviceType
$Object.Device = $HWVersions.Get_Item($line.Device)
$Object.Version = $IOSVersions.Get_Item($line.OSVersion)
$Object.LastSuccessSync = $line.LastSuccessSync
$Output += $Object
}
$output |FT

 

Tweet
Categories: Exchange | Tags: Dean Sesko, Exchange 2010, Exchange ActiveSync, Get-ActiveSyncDevice, Get-ActiveSyncDeviceStatistics, PowerShell

Exchange 2003/2007/2010 ActiveSync Proxy and Redirection

Posted on September 30, 2011 by DeanSesko
6 Comments

When performing a mail migration from Exchange2003/2007 to Exchange 2010 a little understanding of how proxy and redirection work can smooth your migration woes. A quick definition of proxy and redirection can help eliminate confusion between the two. A redirection happens when a device is configured to communicate with Exchange at specific URL and the initial server sends the device a redirection to a different URL that is closer or better suited to handle the device.  The device then updates it configuration to talk to the new location.   A proxy happens when a device is configured to a specific URL and the responding server gets the required data from mailbox server on behalf of the device regardless of version and or location. To help further explain the situation the following graphics can be used to as an example of a proxy and a redirect.

 

Figure 1.  Redirection

 

Figure 2.  Proxy

 

One could look at the above graphics and could make the determination to always proxy due to the  belief that it is faster and would appear to be simpler.  However, redirection is a very effective way of moving devices to servers more suited to handle the request.  For Example, if a user from the UK has a device configured to communicate with a server in the USA, it is along away across the pond for a proxy request from server to server.  In this particular scenario a redirection would be better suited to allow the device to talk to a server in the UK that is closer in proximity.

Proxy and Redirection determination is handled by the existence of the external URL on the 2007/2010 Client Access Server.  If all Internet facing servers have their External URLs configured then those servers will always redirect devices to the Client Access Server closest to the mailbox.  If only 1 site is Internet facing, that one site will Proxy connections to all other exchange Servers in the environment.

When performing a migration from 2003 to 2010 it is always best practice to point the external address at a 2010 Client Access Server.  Since Exchange 2003 has no concept of sites and Internet connected sites, 2010 will always proxy to 2003.  The last trick to the configuration is to ensure that devices configured to point to an Exchange 2010 server and have mailboxes on Exchange 2003, need to have integrated authentication enabled on the Exchange 2003 ActiveSync Virtual Directory.  Unfortunately, when you enable integrated authentication on 2003 it goes behind you and resets the configuration back to basic every so many minutes.  The Fix for this issue can be located here at the following MS support article.

if you have any questions please feel free to leave a comment :)

Tweet
Categories: Exchange | Tags: Dean Sesko, EAS, Exchange, Exchange 2003, Exchange 2007, Exchange 2010, Exchange ActiveSync, External URL, KB 937031, Proxy, Redirection

Webinar Today Fast Track Upgrade to Exchange 2010: Customer Case Study Review

Posted on September 21, 2011 by DeanSesko
No Comments

I will be hosting a webinar September 21st at 12:00 EST with Binary Tree on using E2E Complete to quickly and efficiently migrate mail from Exchange 2003/2007 to Exchange 2010. Please check it out. Click Here to Register

Tweet
Categories: Uncategorized

Remove Missing Exchange 2003 Mailboxes

Posted on September 16, 2011 by DeanSesko
No Comments

The other day I was trying to removing the last Exchange 2003 Server from a customer and it would not let me uninstall the server with the error

“The component “Microsoft Exchange Messaging and Collaboration Services” cannot be assigned the action “Remove” because: 

-One or more users currently use a mailbox store on this server. These users must be moved to a mailbox store on a different server or be mail disabled before uninstalling this server.”

The problem with this error message was, the server had all of its databases removed. so I know for a fact that it could not possibly have any mailboxes on it.  Running a query in Active Directory Users and Computers (ADUC) for users with mailboxes on this server returned nothing.

The Fix
For me I did a LDAP query in ADUC using Custom Search and Advanced on the same tab.  

msExchHomeServerName=/o=Exchange Org/ou=First Administrative Group/cn=Configuration/cn=Servers/cn=EXCH2K3

This query returned a set of users who no longer had mailboxes but still had Exchange Attributes.  I then “Right clicked” on the users and selected remove Exchange attributes. This cleared up the error message and the server was uninstalled in short order.

Tweet
Categories: Active Directory, Exchange | Tags: ADUC, Dean Sesko, Exchange, Exchange 2003, LDAP, One or more users currently use a mailbox store on this server. These users must be moved to a mailbox store on a different server or be mail disabled before uninstalling this server., The component "Microsoft Exchange Messaging and Collaboration Services" cannot be assigned the action "Remove" because:

Exchange 2010 SSL Offload

Posted on August 25, 2011 by DeanSesko
No Comments

The use of Network Load balancers (NLB) for Exchange has increased significantly over the last few years. NLB devices do a fantastic job of balancing load and providing additional failover capabilities for you Exchange Client Access Severs. Another less published benefit of a NLB device is to further increase performance on Exchange by offloading SSL traffic at the NLB device. In large environments this offers a significant performance benefit by allowing the exchange servers to handle only http-based traffic and removing all of the SSL handling.

With Exchange 2010 SP1, Microsoft has simplified the configuration task required to allow Exchange to run straight HTTP for service such as OWA and Outlook Anywhere. The following command below will properly configure Exchange 2010 SP1. Configuring your NLB device to perform SSL offload requires unique configuration per manufacture. I use Kemp Technologies frequently and have included the link the their documentation.

** Exchange Management Shell must be run as an administrator

Set-OutlookAnywhere –Identity "$($env:COMPUTERNAME)\RPC (Default Web Site)" -SSLOffloading $true
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Services\MSExchange OWA' -Name SSLOffloaded -Value 1 -PropertyType DWORD
Import-Module webadministration
Set-WebConfigurationProperty -Filter //security/access -name sslflags -Value "None" -PSPath IIS:\ -Location "Default Web Site/OWA"
Set-WebConfigurationProperty -Filter //security/access -name sslflags -Value "None" -PSPath IIS:\ -Location "Default Web Site/ECP"
Set-WebConfigurationProperty -Filter //security/access -name sslflags -Value "None" -PSPath IIS:\ -Location "Default Web Site/OAB"
Set-WebConfigurationProperty -Filter //security/access -name sslflags -Value "None" -PSPath IIS:\ -Location "Default Web Site/EWS"
Set-WebConfigurationProperty -Filter //security/access -name sslflags -Value "None" -PSPath IIS:\ -Location "Default Web Site/Microsoft-Server-ActiveSync"
Set-WebConfigurationProperty -Filter //security/access -name sslflags -Value "None" -PSPath IIS:\ -Location "Default Web Site/Autodiscover"
iisreset

** RTM Version ONLY configuration Changes
If you are running the RTM version of Exchange 2010 in addition to the changes above you will also need to modify a few files. This will have a negative outcome if the following files are modified on a SP1 version of Exchange. Verify version before continuing

Open the web.config file located in the Installation directory of Exchange under ClientAccess\Exchweb\ews with your favorite text editor.
Replace all instances of httpsTransport with httpTransport
repeat the process for the web.config file located in ClientAccess\Autodiscover directory

Tweet
Categories: Exchange | Tags: Dean Sesko, Exchange 2010, Kemp Technologies, Load Balancer, Offload SSL, OWA, SSL, SSL Offloading, VLM 1000

Search-Mailbox A Mail Administrators Best Friend

Posted on August 23, 2011 by DeanSesko
No Comments

I had a customer ask me today if I had a way to clear out a mailbox that contained 2.5 million emails. The customer had a rouge app that was sending several emails every few minutes for several months to a resource mailbox. Right off the bat the first thing that came to mind is to just delete the mailbox and recreate a new one. This method is quick and dirty and would get the job done. However, this would also delete any valid emails or calendar entries that were in the mailbox that could be of value to the customer. The next thing that came to mind and the clear winner to this problem was to run a mailbox search and delete the content. Exchange 2010 SP1 has a Search-mailbox command that allows a user to search a mailbox(s) and delete any messages or all messages contained within. The only requirement to run this command is the user issuing the command must have the proper role assignment. The following command grants the necessary privileges to issue the search-mailbox command. After the command is run and replication has taken place close the powershell window and reopen to activate the newly added commands available to you.

New-ManagementRoleAssignment –Role “Mailbox Import Export” –User “Contoso\ExAdmin”

Listed below are a few sample commands that can be used to clear out email by subject and or all email
Search and delete all content with a specific subject (*** Careful this removes all content from a users mailbox including mail, contacts,calendar,ect.)

get-mailbox "ResMailbox1" |Search-Mailbox -SearchQuery 'Subject:"Aplication A Status" '  -DeleteContent

Search and delete all content with any subject (*** Careful this removes all content from a users mailbox including mail, contacts,calendar,ect.)

get-mailbox “ResMailbox1” |Search-Mailbox -SearchQuery 'Subject:"*"'  -DeleteContent

Search and delete all content from a particular user (*** Careful this removes all content from a users mailbox including mail, contacts,calendar,ect.)

get-mailbox “ResMailbox1” |Search-Mailbox -SearchQuery 'From:"TestUser@contoso.com*"'  -DeleteContent

for additional information on the Search-Mailbox Command see

http://technet.microsoft.com/en-us/library/dd298173.aspx

Tweet
Categories: Exchange, PowerShell | Tags: -deletecontent, Dean Sesko, Exchange 2010, Exchange 2010 SP1, Mailbox Import Export, PowerShell, Search-Mailbox

Extra-Strength Pain Relief for Exchange Mailbox Migration Headaches

Posted on August 4, 2011 by DeanSesko
No Comments

Really exited to be a new guest blogger on Binary Tree’s Good Migrations Blog. Check out my latest post Extra-Strength Pain Relief for Exchange Mailbox Migration Headaches

Tweet
Categories: Exchange | Tags: Binary Tree, Dean Sesko, E2E, E2E Complete, Exchange 2010, Migration
Previous Entries
  • Blogroll

    • It Worked in the Lab
    • John Cook's Blog
    • Temperarture Sensors
  • Follow Me:
    Twitter
    Grab This
  • Meta

    • Register
    • Log in
    • Entries RSS
    • Comments RSS
    • WordPress.org
  • Tags

    Active Directory AutoD AutoDiscover Blackberry CAS Client Access Database Recovery Database Size DB DB Recovery Dean Sesko Exchange Exchange 2003 Exchange 2010 Exchange 2010 Lab Exchange ActiveSync Exchange Masters Exhange HA HA Hardware Load Balancer High Availability KEMP Kemp Technologies Lab LAMP Linux Load Balancer Mailbox Moves Management Console MCM NLB PowerShell Quest Quest Tools Rangers Scripts Send Connector Server SMTP SMTP Connector SP1 RU3 TechNet Transaction Logs Turnkey Linux Windows 2008 R2
  • Archives

    • April 2012
    • February 2012
    • January 2012
    • September 2011
    • August 2011
    • June 2011
    • May 2011
    • April 2011
    • March 2011
    • February 2011
    • January 2011
    • December 2010
    • November 2010
    • January 1970
© ExchangeBytes. Proudly Powered by WordPress | Nest Theme by YChong