Назад | Перейти на главную страницу

Выходные данные Exchange 2010 Powershell Разрешение каждого почтового ящика на отдельные текстовые файлы

Я хочу вывести результаты

Get-Mailbox –Server MYserverName | Get-MailboxPermission | FL

подключен к физическое лицо текстовые файлы для каждого отдельного почтового ящика с текстовым файлом с именем почтового ящика - например, Я хочу иметь папку с содержимым:

каждый из которых содержит результаты разрешения почтового ящика.

Я знаю, что могу выполнить цикл foreach в следующих строках:

ForEach-Object {Out-file $_.name}

для создания выходных файлов, но я не слишком уверен, как бы я сделал это за один шаг, чтобы получить разрешения для всех моих почтовых ящиков в отдельные файлы (я знаю, что это даст мне много текстовых файлов!)?

Вы почти там. Совместите их так:

Get-Mailbox –Server MYserverName | % { Get-MailboxPermission $_ | FL | Out-file $_.name }

Я попробовал это на своем лабораторном сервере Exchange 2013, и, похоже, он сделал то, что вам нужно. Для этой функции разница между 2010 и 2013 годами небольшая.

Если вам нужно расширение ".txt" для выходных файлов, сделайте следующее:

Get-Mailbox –Server MYserverName | % { Get-MailboxPermission $_ | FL | Out-file "$_.txt" }

Всем спасибо - это было довольно близко - но когда я запустил его на нескольких разных серверах 2010 года, я получил ошибку:

Конвейер не выполняется, потому что конвейер уже выполняется. Конвейеры не могут выполняться одновременно. + CategoryInfo: OperationStopped: (Microsoft.Power ... tHelperRunspace: ExecutionCmdletHelperRunspace) [], PSInvalidOperationException + FullyQualifiedErrorId: RemotePipelineExecutionFailed

Конвейер не выполняется, потому что конвейер уже выполняется. Конвейеры не могут выполняться одновременно. + CategoryInfo: OperationStopped: (Microsoft.Power ... tHelperRunspace: ExecutionCmdletHelperRunspace) [], PSInvalidOperationException + FullyQualifiedErrorId: RemotePipelineExecutionFailed

что привело меня к http://mikepfeiffer.net/2010/02/exchange-management-shell-error-pipelines-cannot-be-executed-concurrently/ что предложило мне использовать переменную, поэтому мой конечный результат был:

$mailbox = Get-Mailbox
$mailbox | % { Get-MailboxPermission $_ | FL | Out-file "$_.txt" }

который работал отлично! Еще раз спасибо!