web-dev-qa-db-ja.com

Exchange 2010でExchangeパブリックフォルダーの完全な親パスを取得するにはどうすればよいですか?

アクセス許可の変更など、Exchangeパブリックフォルダーで手順を実行する必要があるが、パブリックフォルダーへのフルパス(ほとんどのパブリックフォルダーコマンドの-identityパラメーターで必要)がない場合、どうすればよいですか。その完全なパスを取得しますか?

私が見つけたいくつかのリソースは、Powershell get-publicfolder -recurseと結果のフィルタリングを行いますが、何千ものパブリックフォルダーがある大規模な組織では、コマンドが完了すると、何時間もかかることがあります。

7
Thomas

私はこれに何度も遭遇しました、そしてそれはイライラさせられました。多くの場合、私はそのフォルダーに接続しているユーザーからフルパスを取得するために嫌がらせをしています。一度か二度私はそれを手放し、「フルパスなしではそれはできない」と言っただけです。

しかし、結果を返すためにget-recipientは絶対パスを必要としないことがわかりました。

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

そしてget-publicfolderはパイプライン入力を受け入れます。したがって、次のコマンドを使用して、パブリックフォルダーの親パス( "\ Parent\Path\myPublicFolder"など)を取得できます。

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

私はテストしましたが、これはパブリックフォルダーのメールが有効かどうかに関係なく機能します。複数のパブリックフォルダーがget-recipientの結果と一致する場合、このパイプラインはそれらすべての親パスを返します。

[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

他の誰かが同じフラストレーションに遭遇した場合に備えて、私は共有したいと思いました。これはExchange 2010で機能します。

これは、Exchange 2013以降では機能しません。これを書いている時点(2019年8月)では、get-publicfolder -recurseコマンドレットをフィルター処理せずにパブリックフォルダーのパスを簡単に取得する他の方法はないようです。

6
Thomas

PowerShellの場合:

$mailpf = Get-MailPublicFolder "yourEmailHere"
Get-PublicFolder $mailpf.EntryID
4
Mike Garcia

これを行うと、さらに簡単になります。

Get-MailPublicFolder "PublicFolderName" | Get-PublicFolder

出力は次のようになります。

Name                                                        Parent Path
----                                                        -----------
PublicFolderName                                            \ParentFolderName
1
WFBD

うまくいきません。私にとっては、このコマンドを使用すると機能します:

Get-PublicFolder -Recurse | where {($_.MailEnabled -eq $True)}
0
Geco Mynx

これを使って

Get-PublicFolder -Recurse -ResultSize unlimited |ここで、name -match "publicfoldername"

0
Irfan