Командная строка Powershell с ошибкой каналов при использовании Exchange 2010 - PullRequest
1 голос
/ 29 марта 2011

Будучи новичком в powershell и привыкли к oneliners в unix, я нахожу powershell странным.Приведенный ниже код дает мне тип ошибки «слишком много каналов».Может кто-нибудь сказать мне, что я делаю не так.Последним моим шагом будет добавление кода, который добавляет разрешение, если он не найден в блоке else.

[PS] C:\Windows\system32>(Get-mailbox -identity moh | select alias, distinguishedname) | foreach-object -process { if($_.distinguishedname -match "HK1|VO[1-9]") { $alias = $_.alias; get-mailboxfolderstatistics -identity $alias | Where {$_.FolderType -eq 'Calendar'} | %{ $calpath = $_.folderpath.substring(1); Get-MailboxFolderPermission -Identity $alias":\"$calpath -User iTell | %{ if($_.AccessRights -eq 'Editor') { write-host "Editor!" } else { write-host $_.AccessRights }} } } }

Я получаю следующую ошибку.

Pipeline not executed because a pipeline is already executing. Pipelines cannot be executed concurrently.
+ CategoryInfo          : OperationStopped:   (Microsoft.Power...tHelperRunspace:ExecutionCmdletHelperRunspace) [], PSInvalidOperationException
+ FullyQualifiedErrorId : RemotePipelineExecutionFailed

1 Ответ

0 голосов
/ 29 марта 2011

Понял. Пришлось инкапсулировать блоки кода с круглыми скобками. Но я думал, что блок канала был просто своего рода блокировкой записи. Здесь я только получал данные и, следовательно, должен иметь возможность читать из потоков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...