我们已经在 Exchange Online Protection 中设置了一个垃圾邮件过滤器策略,其中包含允许和阻止发件人和域列表,并且我们创建了第二个策略,我们希望该策略具有相同的允许和阻止列表。
有没有办法使用 powershell 将允许和阻止列表从一个策略复制或导入/导出到另一个策略?
答案1
我花了一段时间才搞明白,但确实如此。每个列表都可以直接用一个命令复制。
诀窍在于您必须使用“遍历”返回的对象ForEach-Object
。这四个命令将复制所有四个允许/阻止列表:
Get-HostedContentFilterPolicy -Identity <source policy> | ForEach-Object {Set-HostedContentFilterPolicy -Identity <destination policy> -AllowedSenders $_.AllowedSenders}
Get-HostedContentFilterPolicy -Identity <source policy> | ForEach-Object {Set-HostedContentFilterPolicy -Identity <destination policy> -AllowedSenderDomains $_.AllowedSenderDomains}
Get-HostedContentFilterPolicy -Identity <source policy> | ForEach-Object {Set-HostedContentFilterPolicy -Identity <destination policy> -BlockedSenders $_.BlockedSenders}
Get-HostedContentFilterPolicy -Identity <source policy> | ForEach-Object {Set-HostedContentFilterPolicy -Identity <destination policy> -BlockedSenderDomains $_.BlockedSenderDomains}
答案2
以防万一有人需要克隆 EOP 允许/阻止列表并像我一样偶然发现了这篇文章。
但是不确定 cmdlet 是否有变化,使用数组点引用可以使命令起作用。
IE:$_.AllowedSenders.发送者
Get-HostedContentFilterPolicy -Identity <source policy> | ForEach-Object {Set-HostedContentFilterPolicy -Identity <destination policy> -AllowedSenders $_.AllowedSenders.Sender}
Get-HostedContentFilterPolicy -Identity <source policy> | ForEach-Object {Set-HostedContentFilterPolicy -Identity <destination policy> -AllowedSenderDomains $_.AllowedSenderDomains.Domain}