Wednesday, April 13, 2011

Exchange 2010 Retention Stamping

 

 

 

Managed Folder Assistant processing: Retention Hold and Migrated Mailboxes

While engaged at a customer for Exchange 2003 to Exchange 2010 migration project, there were various requirements around retention/aging.  Migrating from Exchange 2003 aging to Exchange 2010 Retention strategy was quite a hurdle for the client.  Reason being there were various capabilities in Exchange 2003 (such as email notification of expired items) and other legal speed bumps that warranted a deep dive into retention policies (RPs), retention policy tags (RPTs), Managed Folder work cycles, and how the Managed Folder Assistant processes mail items.  The table below provides a list of various mailbox setting profiles and what the resulting affect is following the manage folder assistant runs against the mailbox.

 

Scenario

Results


Mailbox migrated

· RetentionPolicy applied
· RetentionHoldEnabled = FALSE
· Move-Request NOT CLEARED

Mailbox Items WILL NOT BE STAMPED with retention information (Until Move Request is Cleared), and expired items will  NOT BE DELETED by managed folder assistant until RetentionHoldEnabled is set to FALSE, RetentionHoldEndDate is expired.


Mailbox migrated

· RetentionPolicy applied
· RetentionHoldEnabled = TRUE (prior to managed folder assistant processes the mailbox)
· Move-Request IS CLEARED

Mailbox Items WILL BE STAMPED with retention information, however expired items will NOT BE DELETED by managed folder assistant until RetentionHoldEnabled is set to FALSE, RetentionHoldEndDate is expired.


Mailbox migrated

· RetentionPolicy applied
· RetentionHoldEnabled = TRUE (prior to managed folder assistant processes the mailbox)
· Move-Request NOT CLEARED

Mailbox Items WILL NOT BE STAMPED with retention information (Until Move Request is Cleared), and expired items will NOT BE DELETED by managed folder assistant until RetentionHoldEnabled is set to FALSE, RetentionHoldEndDate is expired.


Existing or New Mailbox
(Typical Mailbox Settings)

· RetentionPolicy applied
· RetentionHoldEnabled = FALSE (prior to managed folder assistant processes the mailbox)

Mailbox Items WILL BE STAMPED with retention information, and the expired items WILL BE DELETED by the Managed Folder Assistant according to retention policy.


Existing or New Mailbox

· RetentionPolicy applied
· RetentionHoldEnabled = TRUE (prior to managed folder assistant processes the mailbox)

Mailbox Items WILL BE STAMPED with retention information, and the expired items NOT BE DELETED by managed folder assistant until RetentionHoldEnabled is set to FALSE or RetentionHoldEndDate is expired

Tuesday, January 4, 2011

Exchange 2010–Creating a Scheduled Task (Using Scheduler Import Task)

 

 

This article provides a method of importing a predefined Task Scheduler (XML) import file and then manipulating the tasks to your liking.

Sample Import Task XML File Contents.


(This content can be copy and pasted into a file, and then modified prior or following the import task – Easiest is after the import)

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Date>2010-05-11T15:55:47</Date>
    <Author>administrator</Author>
  </RegistrationInfo>
  <Triggers>
    <TimeTrigger>
      <Repetition>
        <Interval>PT1H</Interval>
        <StopAtDurationEnd>false</StopAtDurationEnd>
      </Repetition>
      <StartBoundary>2010-05-11T15:55:00</StartBoundary>
      <Enabled>true</Enabled>
    </TimeTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>SYSTEM</UserId>
      <RunLevel>HighestAvailable</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <IdleSettings>
      <Duration>PT10M</Duration>
      <WaitTimeout>PT1H</WaitTimeout>
      <StopOnIdleEnd>true</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <MultipleInstancesPolicy>IgnoreNew</MultipleInstancesPolicy>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <AllowHardTerminate>true</AllowHardTerminate>
    <StartWhenAvailable>false</StartWhenAvailable>
    <RunOnlyIfNetworkAvailable>false</RunOnlyIfNetworkAvailable>
    <AllowStartOnDemand>true</AllowStartOnDemand>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT72H</ExecutionTimeLimit>
    <Priority>7</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>Powershell.exe</Command>
      <Arguments>-NonInteractive -WindowStyle Hidden -command 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; C:\Operations\CheckDatabaseRedundancy.ps1 -MonitoringContext -ShowDetailedErrors -SummaryMailFrom:'SMTPFromAddress@contoso.com' -SendSummaryMailTos:@('SMTPToAddress@contoso.com') -ErrorAction:Continue</Arguments>
    </Exec>
  </Actions>
</Task>

**   NOTE:  The Arguments Key has values that are not used below.  This is an example of reusing an existing task and then modifying the task to your needs.

Import Task and Modify

  1. Copy the PowerShell Script to a machine that has the Exchange Server 2010 Management Tools installed 
  2. Copy and Modify one of the Scheduled task XML files (Listed Above) to a specific location (Local to the machine executing the scheduled task)
  3. Open Task Scheduler (Administrative Tools\Task Scheduler)
  4. Right Click a node on the left hand pane and select "Import Task

clip_image001

  1. During the import modify the necessary properties, schedules. Most importantly be sure to edit the "Action" tab. You will want to modify the script to be called if its not set properly, as well as the Arguments

PROGRAM/SCRIPT: PowerShell.exe

ARGUMENTS: -NonInteractive -WindowStyle Hidden -command 'C:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1'; Connect-ExchangeServer -auto; C:\Scripts\Exchange\MailboxInfo.ps1

clip_image002