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

 

Sapplique à :Exchange Online Protection

Dernière rubrique modifiée :2014-05-12

L'exemple de script suivant permet aux administrateurs Microsoft Exchange Online Protection (EOP) qui gèrent plusieurs locataires (entreprises) d’utiliser Windows PowerShell pour appliquer les paramètres de configuration à leurs locataires.

Pour exécuter un script ou une cmdlet sur plusieurs locataires
  1. À l'aide d'une application telle qu’Excel, créez un fichier .csv (par exemple, c:\scripts\inputfile.csv) :

    1. Dans le fichier .csv, spécifiez deux noms de colonne : UserName et Cmdlet.

    2. Pour chaque ligne dans le fichier .csv, ajouter le nom d'administrateur du locataire dans la colonne Nom d’utilisateur et la cmdlet à exécuter pour ce locataire dans la colonne Cmdlet. Par exemple, utilisez admin@contoso.com et Get-AcceptedDomain.

  2. Copiez le script RunCmdletOnMultipleTenants.ps1 dans un éditeur tel que le Bloc-notes, puis enregistrez le fichier dans un emplacement (comme c:\scripts) permettant de trouver facilement les fichiers .ps1.

  3. Exécutez le script à l’aide de la syntaxe suivante :

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

    Voici un exemple.

    & "c:\scripts\RunCmdletOnMultipleTenanats.ps1" "c:\scripts\inputfile.csv"
    
  4. Chaque client sera connecté et la cmdlet sera exécutée.

# This script runs Windows PowerShell cmdlets on multiple tenants.

# Usage: RunCmdletOnMultipleTenants.ps1 inputfile.csv
#  
# .csv input file sample: 
# UserName,Cmdlet
# admin@contoso.com,Get-AcceptedDomain | ft Name

# URI for connecting to remote Windows PowerShell
$URI = "https://ps.protection.outlook.com/powershell-liveid/"

# 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

# 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

# Create a PowerShell credential object by using the current entry's UserName. Prompt for the password.
$UserCredential = Get-Credential -username $UserName
# Log on to a new Windows PowerShell session.
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri $URI -Credential $UserCredential -Authentication Basic -AllowRedirection
Import-PSSession $Session

# 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.
remove-pssession -session $Session
}

 
Afficher: