Exchange-Scripts/mass-deploy-spamfilter-connector.ps1

25 lines
1.4 KiB
PowerShell
Raw Normal View History

# Set up command to run and vars for that command
$ScriptBlock = {New-InboundConnector -Name $connector_name -SenderDomains {smtp:*;1} -EFSkipIPs $spamfilterips -RestrictDomainsToCertificate $true -RequireTLS $true -TlsSenderCertificateName $hostname -CloudServicesMailEnabled $true}
$connector_name = 'Spamfilter Connector'
$hostname = 'spamgateway.aperturect.com'
$spamfilterips = {127.0.0.1}, {127.0.0.2}
# Establish a PowerShell session with Office 365. You'll be prompted for your Delegated Admin credentials
$Cred = Get-Credential
Connect-MsolService -Credential $Cred
# Locate .csv with targets
$CsvLocation = Read-Host -Prompt 'Tenants CSV path (use "Get-MsolPartnerContract -All | export-csv" and delete the rows you do not need'
$customers = Import-Csv $CsvLocation
Write-Host "Found $($customers.Count) customers in the .csv file."
# Go through the targets and execute $ScriptBlock
foreach ($customer in $customers) {
$InitialDomain = Get-MsolDomain -TenantId $customer.TenantId | Where-Object {$_.IsInitial -eq $true}
Write-Host "Creating connector for $($Customer.Name)"
$DelegatedOrgURL = "https://ps.outlook.com/powershell-liveid?DelegatedOrg=" + $InitialDomain.Name
Invoke-Command -ConnectionUri $DelegatedOrgURL -Credential $Cred -Authentication Basic -ConfigurationName Microsoft.Exchange -AllowRedirection -ScriptBlock $ScriptBlock -HideComputerName
}