Автоматизация создания почтового ящика и Active Directory

Мы пытаемся автоматизировать создание почтовых ящиков Exchange 2016 и связанной с ним учетной записи Active Directory 2012 R2, когда в нашу организацию вступает новый человек, и они вводятся в нашу систему персонала, как написано в VB.Net. В настоящее время они присоединяются и вводятся в систему, затем кто-то другой должен создать почтовый ящик и учетную запись AD, которая часто имеет время выполнения заказа, что приводит к тому, что пользователи не имеют или имеют ограниченный доступ в течение периода. Мы надеемся устранить эту проблему и снизить нагрузку за счет автоматизации процесса.

Первоначально мы надеялись, что сможем сделать это с помощью вызовов веб-службы Exchange, к сожалению, это не представляется возможным. Теперь мы рассматриваем автоматическое создание сценария powershell, когда пользователь добавляется в нашу систему персонала, которая затем запускается для создания почтовых ящиков и учетных записей активных каталогов. Это лучший подход? У нас нет опыта в этом, и мы хотим быть уверенными, что мы идем по самому разумному маршруту.

Любые мысли и отзывы приветствуются.

1 ответ

Решение

Powershell - лучший подход. Вы можете запустить запланированное задание, которое берет вызов базы данных в вашу ERP, чтобы найти каких-либо новых пользователей, или вы можете экспортировать CSV-атрибуты для создания учетной записи.

На базовом уровне вот рамки кода:

    $Data = Import-CSV "c:\path\to\datafile.csv"

    foreach ($user in $data) {
        $TargetOU = "OU=CompanySite,DC=example,DC=domain,DC=com"  #Use this for where to create the Accounts

        #Note: You need to either generate a random password or supply one via the import.  I recommend random generation and then have the user set one when the arrive.
        New-ADUser -SamAccountName $user.username -GivenName $user.FirstName -Surname $user.LastName -AccountPassword $password -Path $TargetOU -etc -etc -etc #You can set as many attributes as you'd like at creation

        Sleep 10 #allow for propogation of account to all DCs

        Enable-Mailbox -Identity $user.username -Alias $user.username -Database "only needed if you specify a database manually"
        Set-Mailbox -etc -etc #use for anything that needs to be configured after the mailbox is enabled.
        }
Другие вопросы по тегам