Eliminar una sola carpeta dentro de Contactos para un buzón de Exchange 2013

Eliminar una sola carpeta dentro de Contactos para un buzón de Exchange 2013

Tenemos una lista de contactos de teléfonos celulares que se guarda como una subcarpeta llamada "Lista de teléfonos celulares" en un archivo PST que de otro modo estaría vacío. Una vez al mes se ejecuta un script que extrae una lista de buzones de correo de un archivo de texto, elimina todos los contactos con el nombre de nuestra empresa, elimina el contenedor de basura y los vuelve a agregar de esta manera:

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#" }

Esto funciona muy bien aproximadamente el 98% de las veces y los teléfonos móviles de esas personas (ActiveSync) ven el cambio y se resincronizan. Ese último 2%, sin embargo, los teléfonos móviles ven los contactos eliminados pero no sincronizan los reemplazos. Para solucionarlos, eliminamos manualmente la subcarpeta "Lista de teléfonos móviles" de sus contactos, realizamos la importación nuevamente y funciona.

Entonces, nuestra mejor suposición es que algo en activesync no ve un cambio y no se sincroniza, pero sí ve la subcarpeta eliminada y cuando regresa se sincroniza correctamente. Dicho esto, no puedo encontrar una manera de eliminar una subcarpeta usando un simple comando de una línea desde la carpeta de contactos. ¿Eso existe? He encontrado muchos ejemplos sobre el uso de Search-Mailbox para contactos y elementos de correo reales, pero ninguno para eliminar una carpeta específica.

Respuesta1

cmdletSearch-Mailboxno tiene parámetros para eliminar una carpeta específica, el siguiente enlace sobre el cmdlet es para su referencia:Buzón de búsqueda.

Además, también intenté ejecutar el siguiente comando en Exchange 2013 PowerShell, pero no encontré ningún comando para eliminar carpetas específicas:

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

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

ingrese la descripción de la imagen aquí

ingrese la descripción de la imagen aquí

Según mi investigación, encontré un hilo similar:Eliminar carpeta de todos los buzones de correo en Exchange 2016 con Powershell, comoVasil L. Michev/KevDrummondy otros respondieron, podrías usarEWSpara eliminar carpetas específicas.

¡Espero que la información anterior te sea útil!

información relacionada