Amostra de roteiro para aplicar configurações EOP autônomas a vários inquilinos
O script do PowerShell de exemplo neste artigo é para administradores que gerenciam vários locatários autônomos de Proteção do Exchange Online (EOP). Os administradores podem usar o script neste artigo para exibir e/ou aplicar suas configurações a vários locatários autônomos do EOP.
Para executar um script ou cmdlet em vários locatários
Se você ainda não tiver, instale o módulo Exchange Online PowerShell.
Usando um aplicativo de planilha (por exemplo, Excel), crie um arquivo .csv com os seguintes detalhes:
-
Coluna UserName: a conta que você usará para se conectar (por exemplo,
admin@contoso.onmicrosoft.com
). -
Coluna cmdlet: o cmdlet ou o comando a ser executado (por exemplo,
Get-AcceptedDomain
ouGet-AcceptedDomain | Format-Table Name
).
O arquivo .csv será assim:
UserName,Cmdlet admin@contoso.onmicrosoft.com,Get-AcceptedDomain | Format-Table Name admin@fabrikam.onmicrosoft.com,Get-AcceptedDomain | Format-Table Name
-
Coluna UserName: a conta que você usará para se conectar (por exemplo,
Salve o arquivo .csv em um local fácil de encontrar (por exemplo, c:\scripts\inputfile.csv).
Copie o script RunCmdletOnMultipleTenants.ps1 no Bloco de Notas e salve o arquivo em um local fácil de encontrar (por exemplo, c:\scripts).
Execute o script usando a seguinte sintaxe:
& "<file path>\RunCmdletOnMultipleTenants.ps1" "<file path>\inputfile.csv"
Veja um exemplo:
& "c:\scripts\RunCmdletOnMultipleTenants.ps1" "c:\scripts\inputfile.csv"
Cada locatário será conectado e o script será executado.
RunCmdletOnMultipleTenants.ps1
# This script runs Windows PowerShell cmdlets on multiple tenants.
#
# Usage: RunCmdletOnMultipleTenants.ps1 inputfile.csv
#
# .csv input file sample:
#
# UserName,Cmdlet
# admin@contoso.onmicrosoft.com,Get-AcceptedDomain | FT Name
# admin@fabrikam.onmicrosoft.com,Get-AcceptedDomain | FT Name
# Get the .csv file name as an argument to this script.
$FilePath = $args[0]
# Import the UserName and Cmdlet values from the .csv file.
$CompanyList = Import-CSV $FilePath
# Load the Exchange Online PowerShell module
Import-Module ExchangeOnlineManagement
# Loop through each entry from the .csv file.
ForEach ($Company in $CompanyList) {
# Get the current entry's UserName.
$UserName = $Company.UserName
# Get the current entry's Cmdlet.
$Cmdlet = $Company.Cmdlet
# Connect to EOP PowerShell by using the current entry's UserName. Prompt for the password.
Connect-ExchangeOnline -UserPrincipalName $UserName
# Here's where the script to be run on the tenant goes.
# In this example, the cmdlet in the .csv file runs.
Invoke-Expression $Cmdlet
# End the current PowerShell session.
Disconnect-ExchangeOnline -Confirm:$false
}