|SourceFolder||A Mapi.NET.Folder object that represents the source folder that contains the items to be moved out.|
|DestinationFolder||A Mapi.NET.Folder object that represents the target parent folder under which the items will be moved.|
|Items||A list of one or more MapiObject<Mapi.NET.EntryID> values each representing an item in SourceFolder.|
|ItemIDs||A list of one or more Mapi.NET.EntryID values each representing an item in SourceFolder.|
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.