Move-MapiItem

Description

This cmdlet moves one or more items from one MAPI folder to another.

Syntax
Note: Parameters in orange are optional.
Move-MapiFolder
-SourceFolderMapiObject<Mapi.NET.Folder>
-DestinationFolderMapiObject<Mapi.NET.Folder>
-ItemIDsMapi.NET.EntryID[]
Move-MapiFolder
-SourceFolderMapiObject<Mapi.NET.Folder>
-DestinationFolderMapiObject<Mapi.NET.Folder>
-ItemsMapiObject<Mapi.NET.EntryID>[]
Parameters
SourceFolderA Mapi.NET.Folder object that represents the source folder that contains the items to be moved out.
DestinationFolderA Mapi.NET.Folder object that represents the target parent folder under which the items will be moved.
ItemsA list of one or more MapiObject<Mapi.NET.EntryID> values each representing an item in SourceFolder.
ItemIDsA list of one or more Mapi.NET.EntryID values each representing an item in SourceFolder.
Remarks

This cmdlet moves items between folders, and possibly between message stores.

Note that moving an item in most message stores is not a simple "pointer change".  In most stores, the item's EntryID value must be recreated and adjusted on each item.  As such, moving 1000s of items (even between folders in the same message store) can take many minutes or more to complete.

It is possible to move items between message stores if the DestinationFolder parameter is a folder in a different message store.  Such makes it easy to move data between a PST store and an Exchange mailbox, or even between Exchange mailboxes.

Furthermore, understand that each move operation is a series of operations in the backend: open source->create empty target->copy data->save changes on target->delete source object.  PowerMAPI is not performing these operations individually, however MAPI is doing these actions as optimized as possible...but should show that moving data is non-trivial and can take time to complete.

When data is moved, the Created and Modified date values of each item change and reflect the date/time when the item was moved.  It is not possible to preserve the timestamps as these values are calculated and controlled by the underlying message store.