Пример скрипта для применения параметров EOP к нескольким клиентам

 

Применимо к:Exchange Online Protection

Последнее изменение раздела:2014-05-12

Следующий пример скрипта позволяет администраторам Microsoft Exchange Online Protection (EOP), которые управляют несколькими клиентами (компаниями), использовать Windows PowerShell для применения параметров конфигурации к своим клиентам.

Запуск скрипта или командлета для нескольких клиентов
  1. С помощью приложения, например Excel, создайте CSV-файл (например, c:\scripts\inputfile.csv):

    1. В CSV-файле укажите два столбца: UserName и Cmdlet.

    2. Для каждой строки в CSV-файле добавьте имя администратора клиента в столбец UserName и командлет, который необходимо выполнить для этого клиента, в столбец Cmdlet. Например, введите admin@contoso.com и Get-AcceptedDomain.

  2. Скопируйте скрипт RunCmdletOnMultipleTenants.ps1 в редактор, например Блокнот, и сохраните файл в папке, где вы легко сможете найти PS1-файлы (например, c:\scripts).

  3. Выполните скрипт, используя следующий синтаксис:

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

    Ниже приведен пример.

    & "c:\scripts\RunCmdletOnMultipleTenanats.ps1" "c:\scripts\inputfile.csv"
    
  4. Выполняется вход в каждый клиент, после чего запускается командлет.

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

 
Показ: