Exchange 2010 - Archiving emails and restricting user access - exchange-server

I want to implement a retention policy which looks like this:
After 1 year move messages 1 year or older to personal archive - all users can access this and it is already setup.
After 3 years - move messages 3 years or older to another database which can only be accessed for HR/Legal purposes.
Delete all messages 5 years or older.
Is there any way to remove user access to the messages moved into the legal/HR database?

You could accomplish this a couple of ways.
Set a 3 year retention on the archive mailboxes, but have backups on tape or virtual tapes for 5 years. You can restore the backups to PST when a case calls for them. (this was the old way we did it)
Use an "in place hold" instead of a retention policy. I'm not sure how to do this in Exchange 2010, (we skipped from 7 to 13), but we currently setup in place holds that only legal can see, but the user can't.
This article may help.
http://www.msexchange.org/articles-tutorials/exchange-server-2010/compliance-policies-archiving/exchange-2010-litigation-hold-part1.html

Related

Outlook 365 Cached Mode - Need Clarification

I have a query regarding outlook 365 cached mode. Say for example a new user has a outlook mails on server for three months say JAN, FEB and MAR. Let's say we are in 1st of April, iam configuring outlook365 cached mode to 1 month. So March mails will be available offline. Let's say one month is passed, now we are in MAY. Now what happens to MAR month mail which is already downloaded offline, since cache is set to one month. Will MARCH and APRIL mails will be available offline, or only APRIL mails will be available and march gets removed locally?
By default, if Cached Exchange Mode is enabled, Outlook caches email messages only from the last N months (in your case - 1-month-old) and removes anything older from the local cache for the PC. These default settings depend on the device, with mobile devices having smaller default settings. The email messages that are removed from the local cache are still available for users to view, but they’ll need to be connected to Exchange Server to view them. Users can view messages that were removed from the local cache by scrolling to the end of a message list in a folder and clicking the message Click here to view more on Microsoft Exchange. Users can also change how much email to keep offline. The administrator can change the default age or enforce the age of email messages that are removed from the local cache.

What is the default schedule for the default CRM 2011 maintenance jobs?

I have a CRM 2011 installation that experiences a huge spike in I/O at a certain time of day (11 am).
I have a good suspicion that it's the default Rebuild Index Job.
Everything is at default values, and the latest applied update is RU13.
Sql is sql 2008 r2, sp1.
I've found this MSDN blog and also other sources suggesting updating the default job's schedule to run at night, or not at all.
But I haven't been able to find what is the default schedule for these default CRM jobs. I understand they are executing daily, but when?
at 1am, 1pm, 1h after service start?
Also, is there a way to view execution history?
Dynamics CRM 2011 Asynchronous Service regularly executes multiple internal maintenance jobs for each organization (database) and that these are scheduled initially at the time of organization creation on default frequencies (daily, monthly, etc.). Hopefully, you're also aware of the need to reschedule these jobs to execute during non-peak usage hours so as to minimize impact on system performance
You can find more details in this MSDN blog
The interesting comment there from Austin give you some insight.
MSCRM_CONFIG.[dbo].ScalegroupOrganizationMaintenanceJobs table keeps track of LastResultCode and LastRunTime
Useful query:
select
LastRunTime,
CASE OperationType
WHEN 14 THEN 'DeletionService'
WHEN 15 THEN 'IndexManagement'
WHEN 30 THEN 'ReindexAll'
WHEN 32 THEN 'CleanupInactiveWorkflowAssemblies'
WHEN 40 THEN 'GoalRollup'
END OperationType, OperationType,
enabled, ExecutionTime,LastResultCode,LastResultData
,MaintenanceWindowEndTime,MaintenanceWindowStartTime, ModifiedOn
,NextRunTime,RecurrencePattern, RecurrenceStartTime, StartedOn, State, IsDeleted
from ScaleGroupOrganizationMaintenanceJobs
order by LastRunTime desc
I remember finding the answer to this a long time ago, but I can't find the link now. The jobs' default schedule depends on when in the day you originally installed Dynamics. IIRC, the jobs are scheduled to start 24 hours after installation. This is kind of a silly default since most would install it in the middle of the workday, but that's why they recommend that you change it to be more appropriate for your business schedule.

How to clear the cache which is used by AuthzGetInformationFromContext API?

I have a domain and I use AuthzGetInformationFromContext API on the client machine to retrieve sid of the groups to which a user belongs.
It works fine. However, if I add the user to some group or remove him from some group on domain controller, this API will still show old list of groups. In the case, if i will wait 10 minutes or more, it will show updated list of groups.
I tried to do this on different computers and saw that the application will show updated list of groups at a different time. So, it's not a domain controller cache.
Also, my applications exits and starts again. So, it's not application level cache either.
So, I believe there is some computer level cache for group membership (retrieved through this API).
Does anybody know how to clear this cache programmatically or change some settings to decrease this 10 minutes interval to something shorter.
Accordig to this post and Kerberos Authentication problems – Service Principal Name (SPN) issues - Part 1, You can purge the Kerberos TGT (and all your service tickets) using something like klist purge (The tool is present on Windows Seven). You have to run the tool locally on the machine the user is logged in to.
You can find the source of Klist.exe in the Windows Platform SDK (the API in us is LsaCallAuthenticationPackage)
C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\security\authorization\klist

Desktop application validity

I am creating a desktop application using AIR. In that application user is allowed to download some resources which have life span of 2 days. I am storing the date when the user is downloaded.
But how can i check whether the date is passed 2 days or not? Right now I am checking with the current system date.But when the user changes the system date to back, it will start to work which i dont want.
How the desktop applications say like flex builder and all having trial period.? How are they tracking the dates remaining?
~Umesh
In our application we store a license file on the client machine which stores the date the product was installed and has a counter (so only days the user actually opens the application causes a decrement). We also expire the license if the system date is tampered i.e. if the date < date the product was installed set the counter to the max days allowed. (to punish cheats :))
You could implement a similar solution or even just ignore the license and store the settings in the registry.

Windows Workflow foundatation scheduling

If I have an ASP.NET app hosting a worflow where a trouble ticket passes through a fairly standard flow....at one point there needs to be an escalation occurring if a ticket has not been looked at or resolved in 6 months. Now lets say the 6 months have passed, but the IIS machine has been rebooted last month and not used. Will the workflow escalate the ticket?
When/how does the runtime check conditions on long running processes? Does it scan through the 1000's of workflows looking...or have an events table it checks? Does it even handle this kind of out-of-process workflow?
Seems like it would be a very common situation for a WF to handle but i can't seem to find any information.
You're not finding any information on this because you don't need any. It works. This is how it's designed to work. If the workflow host is configured to use the persistence service, then the workflow will be persisted when it's idle too long, and when the delay is over, it will be restored from the persistence store and resumed.

Resources