刪除 Exchange 2013 信箱的聯絡人中的單一資料夾

刪除 Exchange 2013 信箱的聯絡人中的單一資料夾

我們有一個手機聯絡人列表,它保存為一個名為「手機列表」的子資料夾,位於一個空的 PST 檔案中。每月運行一次腳本,從文字檔案中提取郵箱列表,刪除所有帶有我們公司名稱的聯絡人,刪除垃圾箱,然後將它們添加回來,如下所示:

foreach ($i in (Import-Csv "\\File\Share\ContactSync.txt")) { Search-Mailbox -Identity $i.alias -SearchQuery 'kind:contacts AND subject:" - CompanyName"' -DeleteContent -Force }

foreach ($i in (Import-Csv "\\File\Share\ContactSync.txt")) { Search-Mailbox -Identity $i.alias -SearchQuery 'kind:contacts' -SearchDumpsterOnly -DeleteContent -Force }

foreach ($i in (Import-Csv "\\File\Share\ContactSync.txt")) { New-MailboxImportRequest -Mailbox $i.alias -FilePath "\\File\Share\PhoneContacts.pst" -TargetRootFolder "#Contacts#" }

這在大約 98% 的時間裡效果很好,這些人的手機 (ActiveSync) 會看到更改並重新同步。然而,最後 2% 的手機會看到聯絡人被刪除,但不會同步取代內容。為了解決這些問題,我們手動從聯絡人中刪除「手機清單」子資料夾,然後再次匯入,然後就可以了。

因此,我們最好的猜測是 activesync 中的某些內容沒有看到更改並且不會同步,但確實看到子資料夾被刪除,並且當它返回時可以正確同步。話雖如此,我無法找到一種使用簡單的一行命令從聯絡人資料夾中刪除子資料夾的方法。那存在嗎?我發現了很多關於使用搜尋郵箱查找實際聯絡人和郵件項目的範例,但沒有一個用於刪除特定資料夾。

答案1

命令列工具Search-Mailbox沒有刪除特定資料夾的參數,以下有關 cmdlet 的連結供您參考:搜尋信箱

此外,我還嘗試在 Exchange 2013 PowerShell 中執行以下命令,但沒有找到任何刪除特定資料夾的命令:

Get-Command | where{$_.Name -like "*Remove*" -and $_.Name -like "*Folder*"} | ft Name -AutoSize

Get-Command | where{$_.Name -like "*Folder*"} | ft Name -AutoSize

在此輸入影像描述

在此輸入影像描述

根據我的研究,我發現了類似的主題:使用 Powershell 從 Exchange 2016 上的所有郵件匣中刪除資料夾, 作為瓦西爾·L·米切夫/凱夫·德拉蒙德和其他人回答,你可以使用環境預警系統刪除特定資料夾。

希望以上資訊對您有幫助!

相關內容