我正在嘗試解決從本地交換遷移到 Office365 時聯絡人的一些生日問題。
所以我想將 MAPI 屬性 PID_TAGBIRTHDAY 更改為 +2 小時。
我嘗試將 powershell 與本機 MAPI 會話一起使用,但它不會將我的變更儲存到 Outlook/伺服器端。
$olApp = new-object -comobject outlook.application
$namespace = $olApp.GetNamespace("MAPI")
$Contacts = $namespace.GetDefaultFolder(10)
foreach ($Entry in $Contacts.Items)
{
#write-host $Entry.FirstName
#write-host $Entry.Birthday
#write-host $Entry.Birthday.ToUniversalTime()
if ($Entry.Birthday.ToUniversalTime().hour -eq 23)
{
$newname= $Entry
$newTime = $Entry.Birthday.AddHours(2)
$Entry.Birthday = $newTime
$Entry.Save()
}
}
$olApp.Quit | Out-Null
[GC]::Collect()
答案1
你的意思是你沒有收到任何錯誤,但命令沒有生效?你等了多久命令才生效?
在 Outlook 中手動編輯怎麼樣?有效果嗎?或者你可以參考這個如何在 Office 365 中的 Exchange Online 中更新聯絡人資訊