Exchange 2010 Serverから送信者のアクセス許可を取得しようとしています。各DBをループして送信者のアクセス許可を引き出します。
リモートクライアントから受信した合計データが許容最大値を超えたというエラーが発生し続けます。最大許容値は524288000です。
これを軽減する方法として、私は各データベースのforeachループでコマンドを実行することを考えていました。
私の質問は、どうすればこの問題を解決できますか?上記のスクリプトは残念ながら動作しません。
投稿に$databases = Get-MailboxDatabase -Server $yourserver
$databases |
Get-Mailbox -resultsize unlimited
Get-ADPermission |
Where-Object{($_.ExtendedRights -like '*send-as*') -and (-not ($_.User -like 'nt authorityself'))} |
Select-Object Identity, User |
export-csv -Path 'c:\temp\mbx.csv' -NoTypeInformation
あなたがのすべての実行時にファイルを上書きしてしまいforeach
内部export-csv
を持っていた:私はこれをテストするEXCHサーバーを持っていけないが、あなたは次のことを試すことができ
$allmbxinyourorg = Get-Mailbox -ResultSize unlimited
Foreach ($mbx in $allmbxinyourorg)
{
Get-Mailbox -database $mbx |
Get-ADPermission |
?{($_.ExtendedRights -like "*send-as*") -and -not ($_.User -like "nt authorityself")} |
Select Identity, User |
export-csv -notypeinformation $mbx.csv
}
私はそれを実行しましたが、なぜforeachループは含まれていませんでしたか?また、私はそれを実行し、出力は、PowerShellの画面に表示されますが、パスのいずれかを出力していない。 – user3859018
cmdletが 'valuefrompipeline'または' valuefrompipelinebypropertyname'のいずれかの値を受け入れるときにforeachループは必要ありません...とにかく結果が画面上に表示されたら、 'export-csv'にパイプすることができます...実際にtempフォルダはありますかあなたのシステム? – Kiran
ええ、私はexport-csvを自分のデスクトップに変更しようとしました。それは間違いなくユーザーのリストをスクロールしますが、出力はありません。 – user3859018