Outlook: Deploying an Outlook 2013 add-in (using InstallShield LE)

Today I had to create an installer for an Outlook 2013 add-in (created using Visual Studio 2013), and as the process is different to previous versions I thought I’d document it here.  I will only detail the differences from previous versions – I am assuming that you have completed the first three steps that are…

7

Outlook: How to set the default reminder time for received appointments

When appointments (meeting requests) are received in Outlook, the reminder is by default set to 15 minutes, and there is no option to change this default.  However, it is possible to change the default using a simple Outlook macro.  The below code monitors the Calendar folder for new items, and if one is created due to…

1

PowerShell: Create folders in users’ mailboxes

Here is a PowerShell EWS script that will create folders (one or more) in users’ mailboxes.  To run it against a single mailbox, syntax is: .\Create-Folders.ps1 user1.ex2k7@hybrid.local “Folder 1;Folder 2” By default, folders are created under the inbox.  For multiple folders (as above), separate the folder names with a semicolon.  You can specify the parent…

34

PowerShell: Clean AD Users’ ACL

While this isn’t strictly Messaging Development, this script is loosely related to a previous script that validates mailbox delegate permissions (by removing references to non-existent accounts).  The same issue that applies to delegates applies to users.  If a user has certain permissions on another account, those permissions are not removed from the account when the…

0

PowerShell: Purge folder of items over a certain age

This PowerShell script can be used to purge a folder of its contents, optionally only deleting items before a certain date. Example usage: .\Purge-MailboxFolder user1.ex2k10@hybrid.local “Test Folder” “02/Aug/2013” -Impersonate -SearchForFolder The above will search for the first folder called Test Folder in the mailbox of user1.ex2k10@hybrid.local, and when found it will delete all messages dated…

5

WebDAV: Quick Exchange WebDAV Test

We don’t use WebDAV much anymore (it isn’t in Exchange as from 2010), but sometimes we still get cases on it.  While there are many tools that can do detailed analysis and troubleshooting, I have a script that will test whether WebDAV is working as expected.  I had to update this recently due to changes…

0

PowerShell: Search mailbox for items of a particular message class (ItemClass)

The Search-Mailbox cmdlet can be used to perform various searches within a mailbox, and while it serves many needs, there are some searches that it can’t do.  I wrote a PowerShell script to demonstrate how to perform a search of a mailbox (or mailboxes) using EWS, in this case looking for items of a particular…

27

EWS: Streaming Notifications and Exchange 2013 (and Office 365 Wave 15)

Exchange 2013 introduced a new affinity model which means that streaming subscriptions to multiple mailboxes need to be handled in a different way to earlier versions.  If you are connecting to a single mailbox, you shouldn’t have a problem, but you most likely will encounter issues if you are connecting to many mailboxes.  Additionally, the…

4

Outlook: how to programmatically read auto archive settings

Auto archive is a purely Outlook feature (i.e. the settings are not stored in the mailbox), and the settings are not exposed in the object model.  The settings are stored in the registry, however, so it is possible to read the information from there.  Note though, that this is completely unsupported (just as we do…

6