$theTitle=wp_title(" - ", false); if($theTitle != "") { ?>
About Virtualization, VDI, SBC, Application Compatibility and anything else I feel like
8 Nov // php the_time('Y') ?>
Today one of my collegues asked me to write a script that performs two actions for all users of a certain Organizational Unit:
Sounds like a PowerShell job right?
I reused my function to set NTFS Permissions by SID:
4 Oct // php the_time('Y') ?>
Another interesting Move Mailbox error and in this case I am really unsure how this would be possible!
Let’s look at the Move Mailbox log:
1 2 3 4 5 6 7 8 9 10 11 12 | 1-10-2011 11:49:18 [The Exchange Server] A corrupted item was encountered during the move operation. The item wasn't copied to the destination mailbox. <baditem id="0000000088B41EB2A774E14BA3B29759527EBBD007007A08E4E185746A45BF5C6EF2A17E8D5500000590285800007A08E4E185746A45BF5C6EF2A17E8D550000059028720000" flags="0x00000000" errorcode="0x80004005" errortype="MapiExceptionMaxSubmissionExceeded"> <folder id="0000000088B41EB2A774E14BA3B29759527EBBD001007A08E4E185746A45BF5C6EF2A17E8D550000059028580000">Top of Information Store</folder> <sender>John Doe</sender> <recipient></recipient> <subject>archive.pst</subject> <messageclass>IPM.Document.PSTFile</messageclass> <size>38621879</size> <datesent>01/19/2006 14:30:57</datesent> <datereceived>01/19/2006 14:30:19</datereceived> <errormessage>Message (size 36.83 MB (38,621,879 bytes)) exceeds the maximum allowed size for submission to the target mailbox. You can increase this limit by using the Set-Mailbox cmdlet in the Exchange Management Shell. Error details: MapiExceptionMaxSubmissionExceeded: IExchangeFastTransferEx.TransferBuffer failed (hr=0x80004005, ec=1242) |
This error occurs because of a size constraint just like the one in the previous part.
But the strange part is that it seems to be a PST file (type IPM.Document.PSTFile) located in the Root folder of the Exchange mailbox (which is not possible AFAIK).
4 Oct // php the_time('Y') ?>
The previous part (part 3) addressed Mailbox Size but did you know that even Message Size (or rather Item size) can prevent a successful move as well?
Here’s an example move mailbox log:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 2-10-2011 3:18:58 [The Exchange Server] A corrupted item was encountered during the move operation. The item wasn't copied to the destination mailbox. <baditem id="00000000469F68BB3AD7E745B2B8A041FC1B688C07007A08E4E185746A45BF5C6EF2A17E8D55000001537A9D00007A08E4E185746A45BF5C6EF2A17E8D55000001540FF30000" flags="0x00000000" errortype="MapiExceptionMaxSubmissionExceeded" errorcode="0x80004005"> <folder id="00000000469F68BB3AD7E745B2B8A041FC1B688C01007A08E4E185746A45BF5C6EF2A17E8D55000001537A9D0000">verzonden nov 2004-aug 2005</folder> <sender>Jane Doe <recipient></recipient> <subject>Foto's afscheid John Doe 10 februari jl.</subject> <messageclass>IPM.Note</messageclass> <size>76121694</size> <datesent>02/15/2005 15:28:06</datesent> <datereceived>02/15/2005 15:28:06</datereceived> <errormessage>Message (size 72.6 MB (76,121,694 bytes)) exceeds the maximum allowed size for submission to the target mailbox. You can increase this limit by using the Set-Mailbox cmdlet in the Exchange Management Shell. Error details: MapiExceptionMaxSubmissionExceeded: IExchangeFastTransferEx.TransferBuffer failed (hr=0x80004005, ec=1242) Diagnostic context: |
As you can see in the log this mailbox there is one item with a size of 72 MegaBytes.
Let’s see this in Outlook:
It gets even worse when we open the Message:
It was addresses to several internal recipients and as you know Exchange 2010 no longer supports Single Instance Storage.
28 Sep // php the_time('Y') ?>
In Part 2 I showed some details about Mailbox Rule corruptions that can disturb Mailbox Moves.
For this part the topic is Mailbox size, which can be an important factor in deciding which mailboxes you want to move first.
In my case the mailbox size was important because we agreed to move smaller mailboxes during the day but larger mailboxes only outside working hours.
For Exchange 2010 mailboxes it’s very easy to obtain the size using PowerShell.
Example:
1 | Get-Mailbox "rweijnen" | Get-MailboxStatistics | select DisplayName, ItemCount, TotalItemSize |
DisplayName | ItemCount | TotalItemSize |
Remko Weijnen | 313 | 34.87 MB (36,564,183 bytes |
But how can we get the Mailbox Size for Exchange 2003 mailboxes?
27 Sep // php the_time('Y') ?>
In part 1 we saw that a corrupted rule made the Mailbox Move fail.
I wanted to know if I had really a corrupted mailbox or maybe even corruption in the store or another problem.
So in this part I will describe how to break down the Mailbox Move Log.
First go to the Failed Move Request and select Properties:
21 Sep // php the_time('Y') ?>
I am currently working on a migration project from Exchange 2003 to Exchange 2010.
Most Exchange migration projects use Mailbox Moves to move the mailbox data to the new Exchange environment.
But there are some things I observed during Mailbox Moves (from Exchange 2003 to 2010) that are worth mentioning.
17 Aug // php the_time('Y') ?>
I was testing outgoing mail flow in my new Exchange 2010 setup, which should go from the CAS Servers to the Edge server in the DMZ.
After configuring the Edge subscription I noticed that outgoing mails got stuck in the queue with the following error:
“451 4.4.0 Primary target IP address responded with: "451 5.7.3 Cannot achieve Exchange Server authentication." Attempted failover to alternate host, but that did not succeed. Either there are no alternate hosts, or delivery failed to all alternate hosts.“
I verified that name resolution back and forth was ok and that I could communicate on port 25, 50389 and 50636.
16 Aug // php the_time('Y') ?>
I needed to adapt some scripts that create a user with mailbox for Exchange 2010. The existing scripts had a hardcoded database for new mailboxes.
I wanted the mailbox to be created in the smallest database, but how do we determine this?
For Exchange 2010 this is fairly easy using PowerShell:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | # Add Exchange Snapins if ((Get-PSSnapin | where {$_.Name -match "Exchange.Management"}) -eq $null) { Add-PSSnapin Microsoft.Exchange.Management.* } # Get largest possible size $size = [Microsoft.Exchange.Data.ByteQuantifiedSize]::MaxValue.ToBytes() foreach ($db in Get-MailboxDatabase -Status) { # Write-Host "Database:" $db.Name "Size:" $db.DatabaseSize.ToBytes() $db | select ServerName,Name,DatabaseSize # Is the Database smaller than previous smallest size if ( $db.DatabaseSize.ToBytes() -lt $size ) { # This database is smaller, store size and db $size = $db.DatabaseSize.ToBytes() $ExDB = $db } } Write-Host "`nSmallest Database:" $ExDB | select ServerName,Name,DatabaseSize |
15 Aug // php the_time('Y') ?>
By default Exchange 2007 and 2010 are installed in Trial mode so before going into production you need to enter the Product Key.
The Exchange Management Console will warn you if one or more servers are still in trial mode:
10 Aug // php the_time('Y') ?>
I am currently working on an Exchange migration from 2003 to 2010. For the implementation of a load balancing solution for the CAS/HUB servers I needed to set Static RPC Ports for the RPC Client Access Service and the Exchange Address Book Service.
The procedure of changing these ports is described on the Technet Wiki: Configure Static RPC Ports on an Exchange 2010 Client Access Server
Since I am lazy I decided to do this with a PowerShell script that would automatically do this for all CAS/HUB servers in my 2010 environment.