Si je dois effectuer une procédure sur un dossier public Exchange, telle que le changement d'autorisations, mais je n'ai pas le chemin complet du dossier public (qui est requis dans le paramètre -idité pour la plupart des commandes de dossiers publics), comment puis-je Obtenez ce chemin complet?
Certaines ressources que j'ai trouvées ont suggéré d'utiliser le PowerShell get-publicfolder -recurse
et filtrer les résultats, mais dans une grande organisation avec des milliers de dossiers publics que la commande peut prendre des heures, s'il finit par le tout.
J'ai rencontré cela un certain nombre de fois et cela a été frustrant. Plus souvent qu'autrement, je limite un utilisateur qui se connecte à ce dossier afin d'obtenir le chemin complet de leur part. Une fois ou deux fois je viens de le laisser aller et dit "je ne peux pas le faire sans le chemin complet".
Mais il s'avère que get-recipient
ne nécessite pas le chemin complet afin de renvoyer un résultat.
[PS] > Get-Recipient myPublicFolder
Name RecipientType
---- -------------
myPublicFolder PublicFolder
Et get-publicfolder
accepte l'entrée de pipeline. Vous pouvez donc récupérer le chemin des parents d'un dossier public (tel que "\ Parent\Path\MyPublicolder") avec la commande suivante:
[PS] > Get-Recipient myPublicFolder | Get-PublicFolder | Format-List ParentPath
ParentPath : \Parent\Path
J'ai testé et cela fonctionne si le dossier public est activé ou non. Si plusieurs dossiers publics correspondent à vos résultats de votre destinataire, ce pipeline retournera le chemin des parents pour tous.
[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
Je pensais que je partageais, juste au cas où quelqu'un d'autre rencontre la même frustration. Cela fonctionne sur Exchange 2010.
Cela ne fonctionne pas dans Exchange 2013 ou plus tard. Dès cette écriture (août 2019), il ne semble pas y avoir d'autre moyen de récupérer facilement le chemin d'un dossier public sans filtrer le get-publicfolder -recurse
cmdlet.
C'est encore plus simple si vous faites ceci:
Get-MailPublicFolder "PublicFolderName" | Get-PublicFolder
La sortie ressemblera à quelque chose comme ceci:
Name Parent Path
---- -----------
PublicFolderName \ParentFolderName
Ça ne fonctionne pas pour moi. Pour moi, cela fonctionne quand j'utilise cette commande:
Get-PublicFolder -Recurse | where {($_.MailEnabled -eq $True)}
Utilisez ceci
Get-Publicfolder -Recurse -Resultsize illimité | Où nom -match "PublicolderDameName"