Назад | Перейти на главную страницу

Exchange Online Powershell Set-HostedContentFilterPolicy - не найден позиционный параметр, который принимает аргумент 'â € BlockedSenders

У меня есть настраиваемый сценарий PowerShell, который подключается к Exchange Online и пытается добавить адреса электронной почты и домены для спама в настраиваемую политику фильтрации содержимого. Сценарий такой:

# Blocks Spammers - Email Address & Domains if required
$Spammers = "E:\scripts\Repository\Exchange-Online\Blocked-Email-Address.csv"
$SpamDomains = "E:\scripts\Repository\Exchange-Online\Blocked-Domains.csv"
$SpamPolicy = 'Corp-Custom-BlockList-For-AntiSPAM'
# Block Senders
Import-Csv $Spammers | foreach {Set-HostedContentFilterPolicy -Identity $SpamPolicy –BlockedSenders @{add=$_.SpamEmailAddresses}}
# Block Domains
Import-Csv $SpamDomains | foreach {Set-HostedContentFilterPolicy -Identity $SpamPolicy –BlockedSenderDomains @{add=$_.SpamDomains}}
# End of Script

Файл «E: \ scripts \ Repository \ Exchange-Online \ Blocked-Email-Address.csv» содержит: Текст

SpamEmailAddresses
123@345.com

Когда я запускаю это как сценарий PowerShell, я получаю ошибки:

# Block Domains
Import-Csv E:\scripts\Repository\Exchange-Online\Blocked-Domains.csv | foreach {Set-HostedContentFilterPolicy -Identity My-Policy â€BlockedSenderDomains'.
    + CategoryInfo          : InvalidArgument: (:) [Set-HostedContentFilterPolicy], ParameterBindingException
    + FullyQualifiedErrorId : PositionalParameterNotFound,Set-HostedContentFilterPolicy
    + PSComputerName        : outlook.office365.com

Однако, когда я запускаю команды в сеансе PowerShell вручную, это удается

Пожалуйста, помогите решить

Я рад, что проблема решена, вы можете отметить ответ как ответ. Какой-то похожий скрипт: https://community.spiceworks.com/scripts/show/4424-o365-add-sender-or-domain-to-spam-allow-list http://exchangetips.us/2017/12/add-blocked-senders-to-exchange-online-using-powershell/