Это раздел с примерами PowerShell скриптов которые можно использовать для связи Почта73 со своим Active Directory. Создание новых учетной записей в AD, их обновление сразу может находить отражение в учетных записях почты.
Не нужно делать VPN туннель от вашей AD. Главное для работы - наличие ключа и чтобы сервер AD мог ходить в интернет.
# Установить модуль Active Directory (если не установлен)
Add-WindowsFeature RSAT-AD-PowerShell
или
# Для Windows 10/11
Install-WindowsFeature RSAT-AD-PowerShell
# Создать папку для скриптов
New-Item -ItemType Directory -Path "C:\MailConsoleSyncScripts" -Force
# Создать папку для логов
New-Item -ItemType Directory -Path "C:\ProgramData\MailConsoleSync\Logs" -Force
C:\MailConsoleSyncScripts:Sync-MailConsoleAD.ps1Install-SyncSchedule.ps1Config.ps1Отредактировать Config.ps1:
# Открыть файл
notepad C:\MailConsoleSyncScripts\Config.ps1
Установить следующие параметры:
# API Configuration
$script:ApiUrl = "https://api.mail73.ru"
$script:ApiKey = "YOUR_API_KEY_HERE" # Получить в Settings → API
$script:NodeId = 1 # ID ноды в Mail Console
$script:EmailDomain = "example.com" # Домен для почты
# Active Directory Configuration
$script:AdDomain = "example.local" # AD домен
$script:AdSearchBase = "OU=Users,DC=example,DC=local" # Базовый DN
$script:ApiUrl = "https://api.mail73.ru"
$script:ApiKey = "your_api_key"
$script:NodeId = 1
$script:EmailDomain = "example.com"
$script:AdDomain = "example.local"
$script:AdSearchBase = "OU=Users,DC=example,DC=local"
$script:AdUserFilter = "(enabled=true)" # Фильтр для поиска пользователей
$script:AutoCreateEmail = $true # Создавать новые email аккаунты
$script:AutoDeleteEmail = $false # Удалять при отключении в AD
$script:EmailPrefix = "" # Префикс для email
$script:GeneratePassword = $true # Генерировать пароль
$script:PasswordLength = 16 # Длина пароля
$script:DefaultQuota = 1000 # Квота в МБ
$script:LogPath = "C:\ProgramData\MailConsoleSync\Logs"
$script:LogRetentionDays = 30
$script:LogSuccess = $true
$script:LogErrors = $true
$script:LogDebug = $false
# Полная синхронизация
cd C:\MailConsoleSyncScripts
.\Sync-MailConsoleAD.ps1
# Только создание новых аккаунтов
.\Sync-MailConsoleAD.ps1 -Action Create
# Только удаление аккаунтов отключенных пользователей
.\Sync-MailConsoleAD.ps1 -Action Delete
# Тестовый режим (без реальных изменений)
.\Sync-MailConsoleAD.ps1 -TestMode
# Показать отчет
.\Sync-MailConsoleAD.ps1 -Action Report
| Параметр | Тип | Описание |
|---|---|---|
-ConfigPath |
string | Путь к Config.ps1 (по умолчанию: .\Config.ps1) |
-Action |
string | Действие: Sync, Create, Update, Delete, Report |
-TestMode |
switch | Запустить без реальных изменений |
-Verbose |
switch | Подробный вывод |
# Запустить от администратора
.\Install-SyncSchedule.ps1 `
-ScriptPath "C:\MailConsoleSyncScripts\Sync-MailConsoleAD.ps1" `
-IntervalMinutes 60 `
-StartTime "08:00"
| Параметр | Описание |
|---|---|
-ScriptPath |
Полный путь к Sync-MailConsoleAD.ps1 |
-ConfigPath |
Путь к Config.ps1 (по умолчанию в папке скрипта) |
-IntervalMinutes |
Интервал запуска в минутах (по умолчанию: 60) |
-TaskName |
Имя задачи (по умолчанию: "Mail Console AD Sync") |
-StartTime |
Время первого запуска в формате HH:mm |
-RunAsUser |
Пользователь для запуска (по умолчанию: SYSTEM) |
# Просмотр статуса
Get-ScheduledTask -TaskName "Mail Console AD Sync"
# Запустить вручную
Start-ScheduledTask -TaskName "Mail Console AD Sync"
# Остановить
Stop-ScheduledTask -TaskName "Mail Console AD Sync"
# Удалить задачу
Unregister-ScheduledTask -TaskName "Mail Console AD Sync" -Confirm:$false
# Показать историю запусков
Get-ScheduledTaskInfo -TaskName "Mail Console AD Sync"