Сортируйте коллекцию элементов, используя Items.Sort("ReceivedTime", false)
, затем прочитайте первый элемент, используя Items(1)
.
. Убедитесь, что вы храните коллекцию Items
в переменной, а не обращаетесь к MAPIFolder.Items
несколько раз, в противном случае выбудет получать новый Items
объект каждый раз, когда вы это делаете.
РЕДАКТИРОВАТЬ: я ОП вопроса и ставлю здесь правильный код для тех, кто может быть таким же плотным, как я, и нетизначально осознай, что говорится!
# New Outlook object
$ol = new-object -comobject "Outlook.Application";
# MAPI namespace
$mapi = $ol.getnamespace("mapi");
$folder = $mapi.Folders.Item('name@gmail.com').Folders.Item('Inbox')
# Get the items in the folder
$contents = $folder.Items
# Sort the items in the folder by the metadata, in this case ReceivedTime
$contents.Sort("ReceivedTime")
# Get the first item in the sorting; in this case, you will get the oldest item in your inbox.
$item = $contents.GetFirst()
echo $item
# If instead, you wanted to get the newest item, you could do the same thing but do $item = $contents.GetLast()