Showing posts with label Exchange 2010. Show all posts
Showing posts with label Exchange 2010. Show all posts
Wednesday, May 6, 2015
Ignite Session
As promised, from my theater session talk at the Ignite conference, here is the list of links to various scripts, tools and important documentation that can be used for Exchange. Enjoy!
Important Information:
http://blogs.technet.com/b/david231/archive/2015/03/30/for-exchange-2010-and-2013-do-this-before-calling-microsoft.aspx
http://blogs.technet.com/b/exchange/archive/2015/01/08/concerning-trends-discovered-during-several-critical-escalations.aspx
PowerShell DSC:
https://technet.microsoft.com/en-us/library/dn249912.aspx
http://blog.enowsoftware.com/solutions-engine/bid/187447/Setting-Up-Your-First-PowerShell-DSC-Pull-Server
http://channel9.msdn.com/Series/Getting-Started-with-PowerShell-Desired-State-Configuration-DSC
http://blogs.technet.com/b/mhendric/archive/2014/10/17/managing-exchange-2013-with-dsc-part-1-introducing-xexchange.aspx
Scripts:
https://gallery.technet.microsoft.com/office/Generate-Exchange-2388e7c9
https://gallery.technet.microsoft.com/Exchange-2013-Performance-23bcca58
https://gallery.technet.microsoft.com/office/Exchange-2013-Unattended-e97ccda4
Tools:
https://www.microsoft.com/en-us/download/details.aspx?id=11461
https://gallery.technet.microsoft.com/office/Exchange-2013-Server-Role-f8a61780
https://gallery.technet.microsoft.com/MATS-bc0d200d
https://rbac.codeplex.com/
https://gallery.technet.microsoft.com/office/Exchange-2010-SP1-ExFolders-e6bfd405
https://gallery.technet.microsoft.com/office/Log-Parser-Studio-cd458765
https://gallery.technet.microsoft.com/office/ExchangeDatabaseGrowthRepor-2c506048
https://gallery.technet.microsoft.com/office/ActiveSyncReport-script-a2417a84
Labels:
DSC,
Exchange,
Exchange 2010,
Exchange 2013,
installation,
PowerShell
Friday, January 10, 2014
Simplify the OWA URL
Below is a quick powershell one-liner to setup your OWA URL to redirect nicely from mail.contoso.com to mail.contoso.com\owa as documented in http://technet.microsoft.com/en-us/library/aa998359(v=exchg.150).aspx
or you can do it via the ol' Error Pages with this command
- Import-Module WebAdministration
- Set-WebConfiguration system.webServer/httpRedirect "IIS:\sites\Default Web Site" -Value @{enabled="true";destination="https://mail.contoso.com/owa";exactDestination="false";httpResponseStatus="Found";childOnly="true"}
or you can do it via the ol' Error Pages with this command
- .\appcmd.exe set config -section:system.webServer/httpErrors /+"[statusCode='403',responseMode='Redirect' ,path='https://mail.contoso.com/owa']" /commit:apphost
Labels:
Exchange,
Exchange 2010,
PowerShell
Wednesday, November 3, 2010
Poison Mailbox Detection and Correction
One of the biggest pains I have faced many times in my career has been troubleshooting an Exchange server issue that was caused by a single mailbox or user. From an alert system flooding a mailbox, IMAP user with tons of folders to the lovely iPhone 4.0 release. They have all been problems from one to hurt many.
Well Exchange 2010 has added some preventative measures to stop those rogue users in there tracks. Poison mailbox detection is one of those new measures that is handled by the information store and will stop all access to a mailbox unless the OPEN_AS_ADMIN flag is passed.
Now the who, what, when and where:
A mailbox is considered poison when it is causing a crash/deadlock three times within two hours. The threshold for how many crashes lead to quarantining a mailbox as well as how long a mailbox should stay quarantined are configurable. You can modify the MailboxQuarantineCrashThreshold (Default 3 crashes) and MailboxQuarantineDurationInSeconds (Default six hours) in the following path:
HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<Server Name>\Private-{db guid}\QuarantinedMailboxes
There are two conditions that the store considers a "poison-able" offense.
if a thread that is doing work for that mailbox crashes
if there are more than 5 threads in that mailbox that have not made progress for a long time
That mailbox is then tagged, along with a count of how many times it has been tagged by a registry key in the following location:
HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<Server Name>\Private-{db guid}\QuarantinedMailboxes\{mailbox guid}
You will see two keys CrashCount and LastCrashTime.
*An event will also be created on the mailbox server with event id 10018, detailing the user and the time of the quarantine.
During a database mount, the Exchange store will read the time which the mailboxes were identified as potential threats. If more than two hours has elapsed, the registry key for the mailbox will be wiped out.
After you have found the cause of the crashing by the user and rectified the problem you can reset the mailbox by deleting the registry key for the quarantined mailbox. Unfortunately you will need to either remount the database or restart the information store for the reset to take effect.
UPDATE: I posted a new blog that provides a script to find users that have been quarantined. You can find that here.
Well Exchange 2010 has added some preventative measures to stop those rogue users in there tracks. Poison mailbox detection is one of those new measures that is handled by the information store and will stop all access to a mailbox unless the OPEN_AS_ADMIN flag is passed.
Now the who, what, when and where:
A mailbox is considered poison when it is causing a crash/deadlock three times within two hours. The threshold for how many crashes lead to quarantining a mailbox as well as how long a mailbox should stay quarantined are configurable. You can modify the MailboxQuarantineCrashThreshold (Default 3 crashes) and MailboxQuarantineDurationInSeconds (Default six hours) in the following path:
HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<Server Name>\Private-{db guid}\QuarantinedMailboxes
There are two conditions that the store considers a "poison-able" offense.
That mailbox is then tagged, along with a count of how many times it has been tagged by a registry key in the following location:
HKLM\SYSTEM\CurrentControlSet\Services\MSExchangeIS\<Server Name>\Private-{db guid}\QuarantinedMailboxes\{mailbox guid}
You will see two keys CrashCount and LastCrashTime.
*An event will also be created on the mailbox server with event id 10018, detailing the user and the time of the quarantine.
During a database mount, the Exchange store will read the time which the mailboxes were identified as potential threats. If more than two hours has elapsed, the registry key for the mailbox will be wiped out.
After you have found the cause of the crashing by the user and rectified the problem you can reset the mailbox by deleting the registry key for the quarantined mailbox. Unfortunately you will need to either remount the database or restart the information store for the reset to take effect.
UPDATE: I posted a new blog that provides a script to find users that have been quarantined. You can find that here.
Labels:
Exchange,
Exchange 2010
Friday, October 22, 2010
Exchange 2010 SP1 Hosted Installation Failure
Those of you have been playing with Exchange 2010 SP1 Hosted version might have run into some issues during the installation process. Having installed different versions Exchange multiple times you could get caught in the repetition trap, where you install Exchange the same way you have for previous versions.
For the Hosted version of Exchange 2010, extra commands are needed for the installation to succeed. To prepare Active Directory for Exchange 2010 hosting, you must run the following command:
Setup.com /PrepareAD /Hosting
If you forget to add that "/Hosting" entry and continue to the server install with the following command:
Setup.com /Mode:install /Roles:m,ca,ht /Hosting /on:Exch2010
You will get the following error:
Active Directory wasn't prepared using hosting mode. To install server roles for hosting mode, you need to clean up Active Directory and prepare it again for hosting mode.
In order to continue with your Hosted Exchange install you must remove a registry key and remove some objects via ADSI Edit. Locate and then select the following subkey in the registry:
HKEY_LOCAL_MACHINE\Software\Microsoft\ExchangeServer\V14
Delete the PARTNERHOSTEDMODE registry key.
Then go into ADSI Edit expand Default naming context, find and then delete the following two objects:
Microsoft Exchange Security Groups
Microsoft Exchange System Objects
Next expand the Configuration container and delete the following two objects:
Microsoft Exchange
Microsoft Exchange Autodiscover
Now you can go back, run the PrepareAD command with the Hosting switch and then proceed to run your server install. Now you can explore Hosted Exchange
For the Hosted version of Exchange 2010, extra commands are needed for the installation to succeed. To prepare Active Directory for Exchange 2010 hosting, you must run the following command:
Setup.com /PrepareAD /Hosting
If you forget to add that "/Hosting" entry and continue to the server install with the following command:
Setup.com /Mode:install /Roles:m,ca,ht /Hosting /on:Exch2010
You will get the following error:
Active Directory wasn't prepared using hosting mode. To install server roles for hosting mode, you need to clean up Active Directory and prepare it again for hosting mode.
In order to continue with your Hosted Exchange install you must remove a registry key and remove some objects via ADSI Edit. Locate and then select the following subkey in the registry:
HKEY_LOCAL_MACHINE\Software\Microsoft\ExchangeServer\V14
Delete the PARTNERHOSTEDMODE registry key.
Then go into ADSI Edit expand Default naming context, find and then delete the following two objects:
Microsoft Exchange Security Groups
Microsoft Exchange System Objects
Next expand the Configuration container and delete the following two objects:
Microsoft Exchange
Microsoft Exchange Autodiscover
Now you can go back, run the PrepareAD command with the Hosting switch and then proceed to run your server install. Now you can explore Hosted Exchange
Labels:
Exchange,
Exchange 2010,
Hosted,
installation
Subscribe to:
Posts (Atom)