Я хочу вывести результаты
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" }
который работал отлично! Еще раз спасибо!