About Terminal Server, Citrix, Delphi and other stuff
8 Nov
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
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
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
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
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
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
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
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
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
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.
Active Directory Altiris Automation Manager bug Citrix Dell Delphi Exchange Exchange2003 Exchange2010 Hack Hewlett-Packard HP iOS Jailbreak Java LinkedIn Linux Lync McAfee MSI MySQL Navigation Objects Office Outlook Passat Password PowerPoint PowerShell RES RNS315 RNS510 SasLibEx Terminal Server ThinApp TSAdminEx VBS VCDS Vista VMWare Volkswagen Windows PE Wordpress XenApp
WP Cumulus Flash tag cloud by Roy Tanck requires Flash Player 9 or better.