Exchange 2010 EMS New-InboxRule 不会为某些用户创建规则,但会为其他用户创建多条规则

Exchange 2010 EMS New-InboxRule 不会为某些用户创建规则,但会为其他用户创建多条规则

我们正在尝试制定一条规则,如果邮件主题中包含 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 }

当您为个人用户执行此操作时(在本例中为“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

当为多个用户将“Kerry”替换为 $($_.Alias) 时,它只对某些用户有效。其他用户会获得规则的两份或更多份副本,而其他用户则完全得不到它......

很奇怪。

我在这里可能遗漏了什么?

答案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。我猜您在 -MoveToFolder 中指定的文件夹 ID 也必须不同,可能类似于$($MB.SamAccountName):\Junk E-Mail`。您可能需要对其中的一些进行修改。

请记住,我偶然发现了这个帖子,因为我自己在使用 New-InboxRule 时遇到了麻烦,所以它可能仍然无法工作。由于这些其他问题,我无法测试这一点。话虽如此,我在这里指出的一切都是一般语法,无论如何都应该适用。

让我知道事情的后续...

相关内容