Новая-InboxRule EMS Exchange 2010 не создает правило для некоторых пользователей и создает несколько правил для других

Мы пытаемся сделать правило, куда, если сообщение имеет XXXXX в предмете затем, перемещаются в Папку Спама.

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

Я подтвердил, что могу создать правило с пользователями индивидуально

Проблема - то, что команда работает на некоторых пользователей а не на других. Так же команда создает несколько копий правила для некоторых пользователей а не для других. Кажется, нет никакого шаблона к этому вообще.

Вот моя команда

    [PS] C:\Windows\system32>get-mailbox -organizationalunit "supernova.local/Active Users" -resultsize unlimited| foreach {
 new-inboxrule -name "Spam Move" -mailbox kerry -MoveToFolder "kerry:\Junk E-Mail" -SubjectContainsWords "[Spam:" -StopP
rocessingRules $true -confirm:$false -force }

Когда Вы делаете это для idividual пользователя. (в этом случае "Kerry"), вот вывод.

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


Name                          Enabled                       Priority                      RuleIdentity
----                          -------                       --------                      ------------
Spam Move                     True                          1                             13037078695330709505
Spam Move                     True                          1                             13109136289368637441
Spam Move                     True                          1                             13181193883406565377

При выполнении для mulitple пользователей путем замены "Kerry" с $ ($ _.Alias), он только работает на некоторых пользователей. Другой становиться двойным или больше копий правила, в то время как другие пользователи не получают его вообще.....

Очень странный.

Что я мог пропускать здесь?

1
задан 21 June 2011 в 20:56
1 ответ

Первая ошибка заключается в том, что неявное удаленное соединение PowerShell не поддерживает конвейер ForEach. Вам придется присваивать переменную, а затем делать ForEach In типа:

$MBs = Get-Mailbox -OrganizationalUnit "supernova.local/Active Users" -ResultSize Unlimited

ForEach($MB in $MBs)
{
New-InboxRule -Name "Spam Move" -Mailbox $MB -MoveToFolder "kerry:\Junk E-Mail" `
-SubjectContainsWords "[Spam:" -StopProcessingRules $true -Confirm:$false -Force
}

Вторая проблема, которую я вижу, заключается в том, что вы указываете -Mailbox on в команде, но это должно быть сделано из трубопровода. В приведенном выше примере, так как в ForEach ссылка на итерационную переменную $MB. Я предполагаю, что ID папки, которую вы указываете в -MoveToFolder также должен быть другим, возможно что-то вроде $($MB.SamAccountName):\Junk E-Mail `. Возможно, вам придется подумать над этим.

Пожалуйста, имейте в виду, что я наткнулся на эту тему, потому что у меня есть свои проблемы с New-InboxRule, так что она все равно может не сработать. Из-за других проблем я не могу это проверить. Это говорит о том, что всё, что я указал здесь, является общим синтаксисом, и должно оставаться верным независимо от этого.

Дайте мне знать, как это происходит...

0
ответ дан 4 December 2019 в 10:24

Теги

Похожие вопросы