Удалить одну папку в разделе «Контакты» почтового ящика 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 не видит изменений и не синхронизируется, но видит удаление подпапки и, когда возвращается, синхронизируется правильно. С учетом сказанного я не могу найти способ удалить подпапку с помощью простой однострочной команды из папки контактов. Существует ли такой способ? Я нашел много примеров использования Search-Mailbox для реальных контактов и почтовых элементов, но ни одного для удаления определенной папки.

решение1

КомандлетSearch-Mailboxне имеет параметров для удаления определенной папки, следующая ссылка о командлете приведена для справки:Поиск-Почтовый ящик.

Кроме того, я также попытался выполнить следующую команду в PowerShell Exchange 2013, но не нашел команды для удаления определенных папок:

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

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

введите описание изображения здесь

введите описание изображения здесь

Основываясь на своих исследованиях, я нашел похожую тему:Удалить папку из всех почтовых ящиков на Exchange 2016 с помощью Powershell, какВасил Л. Мичев/КевДраммонди другие ответили, вы могли бы использоватьСПРдля удаления определенных папок.

Надеюсь, приведенная выше информация будет вам полезна!

Связанный контент