Хабрахабр

[Из песочницы] Ещё один пример автоматизации или PowerShell + Google Apps Script

Лень — двигатель прогресса…

Вот и я, найдя немного свободного времени, решил автоматизировать достаточно рутинную для каждого админа задачу — создание и отключение пользователей.

1. PowerShell

Началось все с создания скрипта на PowerShell, где с консоли предлагалось ввести данные пользователя. В результате создавался пользователь AD в соответствующем OU, с заполненными полями.

2. Google Apps Script

Далее создаем почтовый ящик, который в моем случае хостится на Gmail. Благодаря этому можно использовать замечательный сервис Apps Script. В его основе лежит JavaScript. Обилие документации и небольшой опыт программирования помог разобраться с этим делом. Здесь аналогично передаем данные функции — аккаунт создан.

Этим же инструментом переделываем шаблон Welcome-письма, заменяя %username% и т.д. на реальные данные и отправляем pdf HR-ам, боссу, новому пользователю и конечно себе.

function createUser(name, lastName, gender, groups, password, title, department) { var userMail = email((name + "." + lastName).toLowerCase()); var admin = email("admin"); var recipients = admin + "," + email("hr") + "," + email("boss"); var subject = "Welcome! " + name + " " + lastName + " - " + title; var body = "Welcome to the jungle"; var attachment = makeWelcome(name, lastName, password); var resource = { "name": { "familyName": lastName, "givenName": name }, "password": password, "primaryEmail": userMail, "changePasswordAtNextLogin": true, "organizations": [{ "title": title, "department": department }], "gender": { "type": gender } } AdminDirectory.Users.insert(resource); Logger.log(userMail + "'S BEEN CREATED"); for (var i = 0; i < groups.length; i++) { addMember(groups[i], userMail); } var options = { "attachments": [attachment], "name": "Sysadmin" } MailApp.sendEmail(recipients, subject, body, options); MailApp.sendEmail(userMail, "Welcome!", body, options);
}

3. UI, автоматизация

Конечно, ввод данных с двух консолей — не тот результат, который хотелось бы получить. По-этому была создана гугл-форма для данных. Скрипты добавлены в планировщик на повтор каждые 5 мин.

После отработки гугл-скрипта, через Backup and Sync (GDrive) данные ввиде текстового файла передаются в локальную сеть. Здесь за дело берется PowerShell — парсит файл и создает пользователя AD. Вот теперь красиво!

Теги
Показать больше

Похожие статьи

Кнопка «Наверх»
Закрыть