Exemple de script pour l’application de paramètres EOP autonomes à plusieurs clients

L’exemple de script PowerShell de cet article est destiné aux administrateurs qui gèrent plusieurs locataires Exchange Online Protection autonomes (EOP). Les administrateurs peuvent utiliser le script de cet article pour afficher et/ou appliquer leurs paramètres de configuration à plusieurs locataires EOP autonomes.

Pour exécuter un script ou une cmdlet sur plusieurs locataires

  1. Si vous ne l’avez pas déjà fait, installez le module PowerShell Exchange Online.

  2. À l’aide d’une application de feuille de calcul (par exemple, Excel), créez un fichier .csv avec les détails suivants :

    • Colonne UserName : compte que vous utiliserez pour vous connecter (par exemple, admin@contoso.onmicrosoft.com).
    • Colonne d’applet de commande : applet de commande ou commande à exécuter (par exemple, Get-AcceptedDomain ou Get-AcceptedDomain | Format-Table Name).

    Le fichier .csv se présente comme suit :

    UserName,Cmdlet
    admin@contoso.onmicrosoft.com,Get-AcceptedDomain | Format-Table Name
    admin@fabrikam.onmicrosoft.com,Get-AcceptedDomain | Format-Table Name
    
  3. Enregistrez le fichier .csv dans un emplacement facile à trouver (par exemple, c:\scripts\inputfile.csv).

  4. Copiez le script RunCmdletOnMultipleTenants.ps1 dans le Bloc-notes, puis enregistrez le fichier à un emplacement facile à trouver (par exemple, c:\scripts).

  5. Exécutez le script à l'aide de la syntaxe suivante :

    & "<file path>\RunCmdletOnMultipleTenants.ps1" "<file path>\inputfile.csv"
    

    Voici un exemple :

    & "c:\scripts\RunCmdletOnMultipleTenants.ps1" "c:\scripts\inputfile.csv"
    
  6. Chaque locataire est connecté à et le script est exécuté.

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
}