У меня есть настраиваемый сценарий 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/