Sunday, 16 June 2013

Transport Dumpster and Shadow Redundancy, why both?

Transport dumpster is a feature built into Exchange Server 2010 HUB transport role and designed to minimize data loss during mail delivery to a DAG in a lossy failover scenario. The transport dumpster is stored inside the mail.que file. It's only available for message delivery in a cluster continuous replication (CCR) environment and doesn't address potential message loss when messages are in transit between Hub Transport and Edge Transport servers.

With shadow redundancy, the deletion of a message from the transport databases is delayed until the transport server verifies that all of the next hops for that message have completed delivery. If any of the next hops fail before reporting back successful delivery, the message is resubmitted for delivery to that next hop.

Understanding Shadow Redundancy
http://technet.microsoft.com/en-us/library/dd351027.aspx

Shadow Redundancy Mail Flow Scenarios
http://technet.microsoft.com/en-us/library/dd351091.aspx

For Dumpster: The recommendation is that this be set to 1.5 times the maximum message size limit within your environment. The default value for this setting is 18 MB.
By default, shadow messages are discarded automatically after two days.

Configure Shadow Redundancy
http://technet.microsoft.com/en-us/library/dd351046.aspx

Thursday, 6 June 2013

Exchange 2013 Sessions From TechEd NA 2013

How to extract the blackberry user details

Login to the SQL Server wherein the Blackberry Configuration database (BESMgmt) of Blackberry Enterprise Server resides.
 
Login to SQL Server Management Studio.
 
Right Click on ‘BESMgmt’ database and select ‘New Query’
  
Copy the below query in the SQL Management Studio.
 
================================
select Displayname, MailboxSMTPAddr, CreationTime, ActivationTime from userconfig
================================
 
Execute the query (Press F5 or click on execute) to find out the Blackberry User details for all the Blackberry Users.
 
Copy the results of SQL query and paste it in Excel document.

Wednesday, 5 June 2013

Possible Bug with Exchange 2010 SP3 RU1

I was going through Technet forum and found some administrators are facing issues post installation of RU1. 

Even though there is a 30% improvement in fixing the issues like soft delete, after implementing SP3 RU1 few admins faced the mail delivery issues with the sent mails.

All receive mails and OWA was working fine but the sent emails are going to Poison Queue after the update.

On server there will be several errors:

---> Error 10003 on MSExchangeTransport:The transport process failed during message processing with the following call stack: System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.Exchange.Data.Transport.Email.PureTnefMessage.Microsoft.Exchange.Data.Transport.Email.IBody.GetContentWriteStream(Charset charset)
   at ............
--> Error 4999 on MSExchangeCommon: Watson report about to be sent for process id: 5724, with parameters: E12, c-RTL-AMD64, 14.03.0146.000, edgetransport, unknown, M.E.D.T.E.P.M.E.D.T.E.IBody.GetContentWriteStream, System.NullReferenceException, a79c, unknown.
ErrorReportingEnabled: False

If this is really a bug, MS will release interim update to address the issue. 
Disabling the Transport Rule is a work around not a solution, until Microsoft fix the problem. 

Windows Server 2012 R2

According to the Microsoft Corporate vice president Brad Anderson, "Windows Server 2012 R2 will be available for preview in June and will be officially released before the end of the year [2013].

Windows Server 2012 R2 Storage Improvements:


  • Automated Storage tiering: Storage in windows server 2012 can be configured to allocate workloads to the most appropriate storage types. For example, you can configure SSD drives to be prioritized for applications and workloads were speed and latency are vitally important, and to rely on slower types of storage for less important workloads.
  • "Generation 2" virtual machines: Windows Server 2012 R2 Hyper-V introduces what Microsoft is calling "Generation 2" virtual machines. Gen 2 VMs only support the 64-bit versions of Windows 8 and Windows Server 2012 R2 as guest OSes. Gen 2 VMs remove all of the legacy, BIOS-based functionality of traditional VMs. These VMs are UEFI-based, have no emulated devices, can boot off virtual iSCSI and network adapters, and support secure boot. The benefits to using Gen 2 VMs could be numerous, including the potential of vastly reduced VM sizes by eliminating support for legacy, BIOS-based overhead. Traditional "generation 1" virtual machines will still be enabled by default.
  • Hyper-V Recovery Manager: According to Woolsey, Hyper-V Replica has proven to be one of the most popular features of Windows Server 2012, so Windows Server 2012 R2 introduces the Hyper-V Recovery Manager, a new centralized management console that allows you to manage site replication.

Tuesday, 4 June 2013

Checking which role can run a specific cmdlets


Below command is to find which role has the permissions to run the cmdlet "Get-ActiveSyncDevice" & "Remove-ActiveSyncDevice"

[PS] C:\Windows\system32>Get-ManagementRoleEntry "*\get-activesyncdevice"

Name                           Role                      Parameters
----                           ----                      ----------
Get-ActiveSyncDevice           MyBaseOptions             {ErrorAction, ErrorVariable, Identity, Mailbox, OutBuffer, OutVariable, SortBy, WarningA
Get-ActiveSyncDevice           View-Only Recipients      {Debug, DomainController, ErrorAction, ErrorVariable, Filter, Identity, Mailbox, Organiz
Get-ActiveSyncDevice           User Options              {Debug, DomainController, ErrorAction, ErrorVariable, Filter, Identity, Mailbox, Organiz
Get-ActiveSyncDevice           Mail Recipients           {Debug, DomainController, ErrorAction, ErrorVariable, Filter, Identity, Mailbox, Organiz


[PS] C:\Windows\system32>Get-ManagementRoleEntry "*\remove-activesyncdevice"

Name                           Role                      Parameters
----                           ----                      ----------
Remove-ActiveSyncDevice        MyBaseOptions             {ErrorAction, ErrorVariable, Identity, OutBuffer, OutVariable, WarningAction, WarningVar
Remove-ActiveSyncDevice        User Options              {Confirm, Debug, DomainController, ErrorAction, ErrorVariable, Identity, OutBuffer, OutV
Remove-ActiveSyncDevice        Mail Recipients           {Confirm, Debug, DomainController, ErrorAction, ErrorVariable, Identity, OutBuffer, OutV

Purging Old Quarantine Devices from Exchange Server for a Particular OU

In order to get the list of users who are in Quarantine State for more than a month for a particular OU

Get-ActiveSyncDevice | Where {$_.UserDisplayName -match "Domain.com/OU" -and $_.DeviceAccessState -eq "Quarantined" -and $_.FirstSyncTime -lt (Get-Date).AddMonths(-1)} | ft UserDisplayName, DeviceModel, FirstSyncTime, DeviceAccessState, DeviceAccessStateReason -Auto

To Purge the list of users after running the above command, you need to pipe Remove-ActiveSyncDevice

Get-ActiveSyncDevice | Where {$_.UserDisplayName -match "Domain.com/OU" -and $_.DeviceAccessState -eq "Quarantined" -and $_.FirstSyncTime -lt (Get-Date).AddMonths(-1)} | Remove-ActiveSyncDevice -Confirm:$false