Пример скрипта для применения параметров EOP к нескольким клиентамSample script for applying EOP settings to multiple tenants

Следующий пример скрипта позволяет администраторам Microsoft Exchange Online Protection (EOP), которые управляют несколькими клиентами (компаниями), использовать Windows PowerShell для применения параметров конфигурации к своим клиентам.The following sample script lets Microsoft Exchange Online Protection (EOP) admins who manage multiple tenants (companies) use Windows PowerShell to apply configuration settings to their tenants.

Запуск скрипта или командлета для нескольких клиентовTo run a script or cmdlet on multiple tenants

  1. С помощью приложения, например Excel, создайте CSV-файл (например, c:\scripts\inputfile.csv):Using an application such as Excel, create a .csv file (for example, c:\scripts\inputfile.csv):

  2. В CSV-файле укажите два столбца: UserName и Cmdlet.In the .csv file, specify two column names: UserName and Cmdlet.

  3. Для каждой строки в CSV-файле добавьте имя администратора клиента в столбец UserName и командлет, который необходимо выполнить для этого клиента, в столбец Cmdlet. Например, введите admin@contoso.com и Get-AcceptedDomain.For each row in the .csv file, add the tenant's admin name in the UserName column and the cmdlet to run for that tenant in the Cmdlet column. For example, use admin@contoso.com and Get-AcceptedDomain.

  4. Скопируйте скрипт RunCmdletOnMultipleTenants.ps1 в редактор, например Блокнот, и сохраните файл в папке, где вы легко сможете найти PS1-файлы (например, c:\scripts).Copy the RunCmdletOnMultipleTenants.ps1 script to an editor like Notepad, and then save the file to a location (like c:\scripts) that makes .ps1 files easy to find.

  5. Выполните скрипт, используя следующий синтаксис:Run the script by using the following syntax:

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

    Ниже приведен пример.Here's an example.

    & "c:\scripts\RunCmdletOnMultipleTenanats.ps1" "c:\scripts\inputfile.csv"
    
  6. Выполняется вход в каждый клиент, после чего запускается командлет.Each tenant will be logged on to, and the cmdlet will be run.

Скрипт runcmdletonmultipletenants. ps1RunCmdletOnMultipleTenants.ps1

# 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
}