Вопрос или проблема
Мы настроили одну политику фильтрации спама в Exchange Online Protection с нашими списками разрешенных и заблокированных отправителей и доменов, и создали вторую политику, которая должна иметь такие же списки разрешенных и заблокированных отправителей.
Существует ли способ скопировать или импортировать/экспортировать списки разрешенных и заблокированных отправителей из одной политики в другую, используя PowerShell?
Потребовалось время, чтобы это выяснить, но да. Каждый список можно скопировать напрямую одной командой.
Уловка заключалась в том, что нужно “пройти” по объектам, возвращаемым с помощью ForEach-Object
. Эти четыре команды скопируют все четыре списка разрешенных/заблокированных отправителей:
Get-HostedContentFilterPolicy -Identity <исходная политика> | ForEach-Object {Set-HostedContentFilterPolicy -Identity <целевое политика> -AllowedSenders $_.AllowedSenders}
Get-HostedContentFilterPolicy -Identity <исходная политика> | ForEach-Object {Set-HostedContentFilterPolicy -Identity <целевое политика> -AllowedSenderDomains $_.AllowedSenderDomains}
Get-HostedContentFilterPolicy -Identity <исходная политика> | ForEach-Object {Set-HostedContentFilterPolicy -Identity <целевое политика> -BlockedSenders $_.BlockedSenders}
Get-HostedContentFilterPolicy -Identity <исходная политика> | ForEach-Object {Set-HostedContentFilterPolicy -Identity <целевое политика> -BlockedSenderDomains $_.BlockedSenderDomains}
На случай, если кому-то нужно клонировать списки разрешенных/заблокированных EOP и он наткнулся на этот пост, как и я.
Не уверен, изменились ли команды, однако, используя точечные ссылки массива, чтобы команды работали.
т.е.: $_ .AllowedSenders.Sender
Get-HostedContentFilterPolicy -Identity <исходная политика> | ForEach-Object {Set-HostedContentFilterPolicy -Identity <целевое политика> -AllowedSenders $_.AllowedSenders.Sender}
Get-HostedContentFilterPolicy -Identity <исходная политика> | ForEach-Object {Set-HostedContentFilterPolicy -Identity <целевое политика> -AllowedSenderDomains $_.AllowedSenderDomains.Domain}
быстрое дополнение к этой теме: Для Antiphish команда выглядит так:
например:
Get-AntiPhishPolicy -Identity "Исходная Политика" | ForEach-Object {Set-
Antiphishpolicy -Identity "Целевая Политика" -
TargetedUsersToProtect $_.TargetedUsersToProtect}
Ответ или решение
Для копирования списков разрешенных и заблокированных отправителей из одной политики Exchange Online Protection (EOP) в другую можно использовать PowerShell. Это полезно, если у вас уже есть настроенная политика, и вы хотите дублировать ее настройки в другую политику.
Вот шаги, которые вам необходимо выполнить, чтобы успешно скопировать списки:
-
Открытие PowerShell: Убедитесь, что у вас есть доступ к PowerShell для Exchange Online. Вы можете использовать команду
Connect-ExchangeOnline
, чтобы подключиться к вашему Exchange Online. -
Использование команд для копирования списков: Вы можете использовать следующий набор команд, чтобы скопировать списки разрешенных и заблокированных отправителей из одной политики в другую. Замените
<source policy>
и<destination policy>
на фактические названия ваших политик.
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
}
- Использование обращения к массиву (при необходимости): В некоторых случаях может потребоваться использование обращения к элементам массива. Для этого вы можете использовать такие команды:
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
}
- Копирование настроек антифишинга (если требуется): Если вам нужно скопировать настройки антифишинга, вы можете использовать следующую команду:
Get-AntiPhishPolicy -Identity "<source policy>" | ForEach-Object {
Set-AntiPhishPolicy -Identity "<destination policy>" -TargetedUsersToProtect $_.TargetedUsersToProtect
}
Эти команды позволяют вам легко скопировать необходимые списки и настройки без необходимости вручную вводить каждое значение. Убедитесь, что после выполнения команд вы проверяете целевую политику, чтобы убедиться, что списки были скопированы корректно.