Como obtenho o caminho pai completo de uma pasta pública do Exchange?

5

Se eu precisar executar um procedimento em uma pasta pública do Exchange, como alterar permissões, mas não tiver o caminho completo para a pasta pública (que é necessário no parâmetro -identity para a maioria dos comandos de pasta pública), como obtenho esse caminho completo?

Alguns recursos que encontrei sugeriram usar o powershell get-publicfolder -recursive e filtrar os resultados, mas em uma grande organização com milhares de pastas públicas esse comando pode levar horas, se terminar.

    
por Thomas 12.12.2013 / 00:10

3 respostas

5

Eu me deparei com isso várias vezes e tem sido frustrante. Mais frequentemente, acabo assediando um usuário que se conecta a essa pasta para obter o caminho completo deles. Uma vez ou duas, eu simplesmente deixei ir e disse: "Eu não posso fazer isso sem o caminho completo".

Mas acontece que get-recipient não exige o caminho completo para retornar um resultado.

[PS] > Get-Recipient myPublicFolder
Name                                                        RecipientType
----                                                        -------------
myPublicFolder                                              PublicFolder

E get-publicfolder aceita entrada de pipeline. Assim, você pode recuperar o caminho pai de uma pasta pública (como "\ Parent \ Path \ myPublicFolder") com o seguinte comando:

[PS] > Get-Recipient myPublicFolder | Get-PublicFolder | FilterList ParentPath
ParentPath : \Parent\Path

Eu testei e isso funciona se a pasta pública está habilitada para email ou não. Se várias pastas públicas corresponderem aos seus resultados de recebimento, esse pipeline retornará o caminho pai de todos eles.

[PS] > Get-Recipient "marketing"
Name                                                        RecipientType
----                                                        -------------
Marketing-1                                                 PublicFolder
Marketing                                                   PublicFolder
Marketing-2                                                 PublicFolder
Marketing-3                                                 PublicFolder

[PS] > Get-Recipient "marketing" | Get-Publicfolder | fl Name,ParentPath
Name       : Marketing-1
ParentPath : \Parent\Path\Marketing
Name       : Marketing
ParentPath : \Parent\Path
Name       : Marketing-2
ParentPath : \Parent\Path\Sales
Name       : Marketing-3
ParentPath : \Parent\Path\Sales\Reports

Eu pensei em compartilhar, apenas no caso de alguém mais ter a mesma frustração. Isso funciona no Exchange 2010, mas também deve funcionar no Exchange 2013.

    
por 12.12.2013 / 00:10
1

É ainda mais simples se você fizer isso:

Get-MailPublicFolder "PublicFolderName" | Get-PublicFolder

A saída será algo como isto:

Name                                                        Parent Path
----                                                        -----------
PublicFolderName                                            \ParentFolderName
    
por 08.09.2014 / 16:38
0

Use isso

Get-PublicFolder -Recurse -ResultSize ilimitado | onde nome -match "publicfoldername"

    
por 24.10.2014 / 07:34