/ / Автоматизація створення поштової скриньки та облікового запису Active Directory

Автоматизація поштової скриньки та створення облікового запису Active Directory - vb.net, powerhell, активний каталог, exchangewebservices, exchange-server-2016

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

Спочатку ми сподівалися, що зможемозробити це через виклики веб-служби Exchange, на жаль, це не виглядає можливим. Тепер ми розглядаємо автоматичне створення сценарію PowerShell, коли користувач буде додано до нашої системи персоналу, яка потім запуститься для створення поштових скриньок і активних облікових записів каталогів. Це найкращий підхід? Ми не маємо досвіду робити це і хочемо, щоб ми йшли самим розумним маршрутом.

Будь-які думки та відгуки оцінені.

Відповіді:

1 для відповіді № 1

Powershell - найкращий підхід. Ви можете запустити заплановане завдання, яке приймає або виклик бази даних до вашого ERP, щоб знайти нових користувачів, або ви можете мати щось експортувати csv атрибутів для використання для створення облікового запису.

На базовому рівні ось рамки коду:

    $Data = Import-CSV "c:pathtodatafile.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.
}