Exchange Server 2007 – Включение почтовых ящиков для списка пользователей из файла

Для массового включения почтовых ящиков для уже существующих в домене пользователей приготовим *.CSV файл с разделителем – запятая. В первой строке файла будут описаны заголовки значений, в последующих строках – сами значения.

В нашем примере в качестве используемых значений будут имя пользователя в домене в формате DOMAINUser и алиас для создаваемого почтового ящика к этому имени пользователя. В обычном текстовом редакторе файл будет выглядеть так:

DomainUser,mailAlias
MYDOMivanov-ip,I.Ivanov
MYDOMpetrov-sa,S.Petrov
MYDOMsidorov-dg,D.Sidorov

Чтобы убедиться в том, что PowerShell  действительно может разобрать наш файл по значениям выполним команду:

Import-CSV C:Users.csv

Результат вывода должен быть таким:

image

Непосредственно для импорта содержимого файла и включения на основе этих данных почтовых ящиков выполним:

$DBId =  'MailboxServerStorageGroupDataBase'

Import-CSV C:Users.csv | ForEach-Object { Enable-Mailbox -Identity $_.DomainUser -Alias $_.mailAlias –Database $DBId } | Get-Mailbox | Select Alias,WindowsEmailAddress

 

Всего комментариев: 3 Комментировать

  1. Алексей Максимов /

    Не совсем. В моём случае учетки были созданы ранее в разные периоды времени (этап входа в домен новой инфраструктурной единицы с кучей своих подразделений и соотв. подюнитов) и создание ящиков делается разными порциями. Тут без файла, конкретно описывающего перечень учеток, не обойтись.
    А так если придерживаться вашего сценария можно было ещё и добавить фильтр обработки только не mail-enabled пользователей, типа такого:

    Get-User –organizationalUnit "NewOrg" | Where-Object{$_.RecipientType –eq "User"} | Enable-Mailbox ...

  2. Serg /

    Алексей.

    Насколько я понимаю задача изначально - включить ящики для вновь созданных пользователей?

    Может вот так?
    Get-User -resultsize unlimited | where {$_.WhenCreated -gt (get-date).AddDays(-1)} | Enable-Mailbox ....

    Это позволит избежать шага по созданию файла.

    В идеале еще пару строк и будет выводиться запрос на создание ящика.

  3. Serg /

    согласен.
    У меня функция создания пока не передали ее в сервис деск работала примерно так.

    в зависимости от того что передаю скрипту (строковый параметр) - запрос шаблона для пользователя "user*" или имя файла.
    соответственно по каждому действию запрос.

Добавить комментарий