Compartilhar via


Mensagem "Cmdlet de execução de erro" no EAC e você não pode listar ou criar pastas públicas

Sintomas

Você experimenta todos os seguintes sintomas:

  • Você vê uma Error executing cmdlet mensagem na página Pastas públicas no Centro de administração do Exchange (EAC).

  • A opção de Adicionar uma pasta pública está acinzureada na página Pastas públicas no EAC.

  • Se você tentar listar pastas públicas usando o cmdlet Get-PublicFolder ou criar uma pasta pública usando o cmdlet New-PublicFolder , receberá a seguinte mensagem de erro:

    Nenhuma caixa de correio de pasta pública ativa foi encontrada para a identidade> da organização<. Isso acontece quando nenhuma caixa de correio de pasta pública é provisionada ou elas são provisionadas no modo "HoldForMigration". Se você não estiver executando uma migração no momento, crie uma caixa de correio de pasta pública.

Motivo

Causa 1

Sua organização não tem caixas de correio de pastas públicas. Você não poderá exibir ou criar pastas públicas se sua organização não tiver uma caixa de correio de pasta pública.

Causa 2

A caixa de correio de pasta pública de hierarquia primária em sua organização está no modo HoldForMigration porque uma migração de pasta pública local para Exchange Online está pendente. Esse modo bloqueia a hierarquia de pastas públicas. Não é possível exibir ou criar pastas públicas se a hierarquia de pastas públicas estiver bloqueada.

Resolução

Obtenha a configuração raiz da caixa de correio de pasta pública para sua organização executando o seguinte cmdlet do PowerShell:

(Get-OrganizationConfig).RootPublicFolderMailbox | FL HierarchyMailboxGuid, Type, LockedForMigration

Se sua organização não tiver caixas de correio de pastas públicas, você verá a seguinte saída de comando:

HierarchyMailboxGuid : 00000000-0000-0000-0000-000000000000
Type : MailboxGuid
LockedForMigration : False

Observação: o valor do HierarchyMailboxGuid parâmetro será todos zeros se sua organização não tiver caixas de correio de pastas públicas.

Se a caixa de correio de pasta pública de hierarquia primária em sua organização estiver no HoldForMigration modo, você verá a seguinte saída de comando:

HierarchyMailboxGuid : <non-zero GUID value>
Type : InTransitMailboxGuid
LockedForMigration : True

Observação: o valor do LockedForMigration parâmetro está True no HoldForMigration modo.

Se sua organização não tiver caixas de correio de pasta pública, acesse a seção "Resolução para Causa 1" deste artigo.

Se a caixa de correio de pasta pública de hierarquia primária em sua organização estiver em HoldForMigration modo, vá para a seção "Resolução para Causa 2" deste artigo.

Resolução para Causa 1

Migre pastas públicas locais para Exchange Online ou configure pastas públicas em Exchange Online.

Resolução para Causa 2

Migrar pastas públicas locais para Exchange Online ou recriar pastas públicas no Exchange Online.

Para recriar pastas públicas, siga estas etapas:

  1. Conecte-se ao Exchange Online PowerShell.

  2. Liste as caixas de correio de pasta pública em sua organização executando o seguinte cmdlet do PowerShell:

    Get-Mailbox -PublicFolder
    
  3. Exclua todas as caixas de correio de pasta pública, exceto a caixa de correio de pasta pública de hierarquia primária executando os seguintes cmdlets do PowerShell:

    $hierarchyMailboxGuid = $(Get-OrganizationConfig).RootPublicFolderMailbox.HierarchyMailboxGuid
    Get-Mailbox -PublicFolder | Where-Object {$_.ExchangeGuid -ne $hierarchyMailboxGuid} | Remove-Mailbox -PublicFolder -Confirm:$false -Force
    
  4. Exclua a caixa de correio de pasta pública de hierarquia primária executando o seguinte cmdlet do PowerShell:

    Get-Mailbox -PublicFolder | Where-Object {$_.ExchangeGuid -eq $hierarchyMailboxGuid} | Remove-Mailbox -PublicFolder -Confirm:$false -Force
    
  5. Exclua permanentemente as caixas de correio de pasta pública excluídas automaticamente executando o seguinte cmdlet do PowerShell:

    Get-Mailbox -PublicFolder -SoftDeletedMailbox | % {Remove-Mailbox -PublicFolder -Identity $_.PrimarySmtpAddress -PermanentlyDelete:$true -Confirm:$false -Force}
    

    Observação: essa etapa não exclui permanentemente caixas de correio de pastas públicas excluídas de forma permanente que são caixas de correio de conflito órfãos. Confira a próxima etapa.

  6. Exclua permanentemente todas as caixas de correio de pasta pública excluídas que são caixas de correio de conflito órfãs executando os seguintes cmdlets do PowerShell:

    $softDeletedPfMailboxes = Get-Mailbox -PublicFolder -SoftDeletedMailbox
    foreach ($mbx in $softDeletedPfMailboxes) {if ($mbx.Name -like "\*CNF:\*" -or $mbx.Identity -like "\*CNF:\*") {Remove-Mailbox -PublicFolder -Identity $mbx.ExchangeGUID.GUID -RemoveCNFPublicFolderMailboxPermanently -Confirm:$false -Force}}
    
  7. Verifique se a lista das caixas de correio de pasta pública em sua organização está vazia executando o seguinte cmdlet do PowerShell:

    Get-Mailbox -PublicFolder
    
  8. Configure as configurações da caixa de correio de pasta pública para sua organização implantar localmente novas pastas públicas:

    Set-OrganizationConfig -PublicFoldersEnabled Local
    
  9. Crie a caixa de correio de pasta pública de hierarquia primária executando o seguinte cmdlet do PowerShell:

    New-Mailbox -PublicFolder -Name <name of public folder mailbox>
    
  10. Crie uma ou mais caixas de correio de pasta pública de hierarquia secundária executando novamente o comando na etapa 9.

    Observação

    Crie pastas públicas somente em caixas de correio de pasta pública de hierarquia secundária. Depois de criar uma caixa de correio de pasta pública, pode levar até uma hora para que a nova caixa de correio de pasta pública seja utilizável para que você possa criar pastas públicas nela.