Script de exemplo para exibir as configurações do complemento de segurança interno para caixas de correio locais em várias organizações

Se você usar o Complemento de segurança Interno para caixas de correio locais, poderá usar o script deste artigo para exibir (e, com modificações, definir) as definições de configuração nas diferentes organizações que gerencia.

Para executar um script ou cmdlet em várias organizações com o complemento de segurança interno para caixas de correio locais

  1. Caso ainda não tenha feito isso, instale o módulo do PowerShell do Exchange Online.

  2. Usando o Microsoft Excel ou outro aplicativo de planilha, crie um arquivo .csv com os seguintes detalhes:

    • Coluna UserName : a conta que você usa para se conectar à nuvem (por exemplo, admin@contoso.onmicrosoft.com).
    • Coluna de cmdlet : o cmdlet ou comando a ser executado (por exemplo, Get-AcceptedDomain ou Get-AcceptedDomain | Format-Table Name).

    O arquivo .csv tem esta aparência:

    UserName,Cmdlet
    admin@contoso.onmicrosoft.com,Get-AcceptedDomain | Format-Table Name
    admin@fabrikam.onmicrosoft.com,Get-AcceptedDomain | Format-Table Name
    
  3. Salve o arquivo .csv em um local fácil de encontrar (por exemplo, c:\scripts\inputfile.csv).

  4. Copie o script RunCmdletOnMultipleTenants.ps1 no Bloco de Notas ou em outro editor de texto e salve o arquivo em um local fácil de encontrar (por exemplo, c:\scripts).

  5. 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"
    
  6. O script entra e é executado em cada organização de nuvem.

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 Exchange Online 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
}