Скрипт Powershell для обхода нескольких арендаторов O365 - PullRequest
0 голосов
/ 28 ноября 2018

Сообщество,

У меня есть скрипт, который я собрал в сети, который позволяет мне добавлять домен / отправителя в список заблокированных через фильтр спама в Exchange Online.В настоящее время сценарий написан для одного арендатора.Я бы хотел, чтобы в нем было около 5 арендаторов, каждый с разными учетными данными.

Мне сказали, что мне нужно создать объекты PSCredential, но я не уверен, как это сделать.Или где разместить код.

Сценарий:

# First we need credentials to use to connect to O365
Write-Host "Enter your O365 Global Administrator credentials"
$UserCredential = Get-Credential

Затем нам нужно определить сеанс PS для подключения к O365

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid -Credential $UserCredential -Authentication Basic -AllowRedirection

Теперь мы открываем сеанс

Import-PSSession $Session -AllowClobber

Запрашивать переменные

$domainlist = Read-Host -Prompt 'Domain(s) to add to Block list (press ENTER if none, use single space between entries): '
$addresslist = Read-Host -Prompt 'Email address to add to Block list (press ENTER if none, use single space between entries): '
$domains = $domainlist -split " "
$addresses = $addresslist -split " "

Добавить домены в список, если есть

if (!$domainlist) {
    Write-Host "No domains to add...skipping"
} else {
    Write-Host "Adding domain name(s) to Default spam Block list...."
    Set-HostedContentFilterPolicy -Identity Default -BlockedSenderDomains @{Add=$domains}
}

Добавить адреса электронной почты в список, если есть

if (!$addresslist) {
    Write-Host "No addresses to add...skipping"
} else {
    Write-Host "Adding email address(es) to Default spam Block list...."
    Set-HostedContentFilterPolicy -Identity Default -BlockedSenders @{Add=$addresses}
}

Закрыть сеансили плохие вещи случаются !!!

Remove-PSSession $Session

1 Ответ

0 голосов
/ 29 ноября 2018

Когда вам нужно предоставить учетные данные в неинтерактивном режиме, вы можете создать объект PSCredential следующим образом.

$secpasswd = ConvertTo-SecureString "PlainTextPassword" -AsPlainText –Force

$mycreds = New-Object System.Management.Automation.PSCredential ("username", $secpasswd)

Используйте его как часть цикла, и вы сможете создаватьУстанавливается автоматически- Как создать объект PSCredential

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...