Exchange 2010. Автоматическое приветственное письмо новому сотруднику компании

Нужно на сервере Exchange сделать оповещение при создании почты у нового сотрудника. Я не силён в ps, поэтому взял скрипт из интернета.

Листинг ScriptingAgentConfig.xml

<?xml version="1.0" encoding="utf-8" ?>
<Configuration version="1.0">
<Feature Name="WelcomeEmail" Cmdlets="New-Mailbox,Enable-Mailbox">
<ApiCall Name="OnComplete">
if($succeeded) {
     # Определение переменных
     $WelcomeMessage = "C:\scripts\welcome.html"
     $SenderEmail = "[email protected]"
     $MessageSubject = "Welcome to our company!"
     $SMTPServer = "exchange.company.com"
     $TargetOU = "company.com/Users"
     # Указание на просмотр всего леса
     Set-ADServerSettings -ViewEntireForest $true
     # Определение Alias в случае, если была исполнена команда New-Mailbox
     if ($provisioningHandler.TaskName -eq "New-Mailbox") {
          $UsrAlias = $provisioningHandler.UserSpecifiedParameters["Alias"]
          $UsrNewMailbox = $true
     }
     # Определение Alias в случае, если была исполнена команда Enable-Mailbox
     if ($provisioningHandler.TaskName -eq "Enable-Mailbox") {
          $UsrIdentity = $provisioningHandler.UserSpecifiedParameters["Identity"].ToString()
          $UsrAlias = (Get-Mailbox -Identity $UsrIdentity).Alias
     }
     # Определение, создается ли архивный ящик (нам не нужно приветствовать пользователя при создании архива)
     if ($provisioningHandler.UserSpecifiedParameters.Contains("Archive") -eq $true) {
          $UsrArchive = $true
     }
     # Определение SMTP-адреса по Alias
     $UsrAddr = (Get-Mailbox -Filter {Alias -eq $UsrAlias}).PrimarySmtpAddress.ToString()
     # Определение Organizational Unit, в котором создан пользователь
     $UsrOU = (Get-Mailbox -Filter {Alias -eq $UsrAlias}).OrganizationalUnit
     # Отправка уведомления при создании нового почтового ящика в указанном OU
     if (($UsrOU -match "$TargetOU") -and (($UsrArchive -ne $true) -or ($UsrNewMailbox -eq $true))){
          $UsrMsg = [string](Get-Content "$WelcomeMessage")
          Send-MailMessage -SmtpServer "$SMTPServer" -To "$UsrAddr" -From "$SenderEmail" -Subject "$MessageSubject" -Body $UsrMsg -BodyAsHtml -Encoding ([System.Text.Encoding]::UTF8)
     }
     # Тихая очистка переменных
     if ($UsrAlias) { Remove-Variable UsrAlias }
     if ($UsrAddr) { Remove-Variable UsrAddr }
     if ($UsrOU) { Remove-Variable UsrOU }
     if ($UsrMsg) { Remove-Variable UsrMsg }
     if ($UsrIdentity) { Remove-Variable UsrIdentity }
     if ($UsrSamAccountName) { Remove-Variable UsrSamAccountName }
     if ($UsrArchive) { Remove-Variable UsrArchive }
     if ($UsrNewMailbox) { Remove-Variable UsrNewMailbox }
}
</ApiCall>
</Feature>
</Configuration>

При его выполнении пишет ошибку

Сводка: всего элементов: 1. Успешно: 1, с ошибками: 0. Прошло времени: 00:00:05

asd asd Завершено

Предупреждение: Агент расширения командлета с индексом 5 создал исключение в OnComplete(). Исключение: >Microsoft.Exchange.Provisioning.ProvisioningException: ScriptingAgent: в ходе вызова сценария для API >OnComplete возникло исключение: Серверу SMTP требовалось защищенное соединение, или подлинность клиента >не была установлена. Ответ сервера: 5.7.1 Client was not authenticated. ---> >System.Net.Mail.SmtpException: Серверу SMTP требовалось защищенное соединение, или подлинность клиента >не была установлена. Ответ сервера: 5.7.1 Client was not authenticated в System.Net.Mail.MailCommand.CheckResponse(SmtpStatusCode statusCode, String response) в System.Net.Mail.SmtpTransport.SendMail(MailAddress sender, MailAddressCollection recipients, String >deliveryNotify, SmtpFailedRecipientException& exception) в System.Net.Mail.SmtpClient.Send(MailMessage message) в Microsoft.PowerShell.Commands.SendMailMessage.EndProcessing() --- Конец трассировки внутреннего стека исключений --- в Microsoft.Exchange.ProvisioningAgent.ScriptingAgentHandler.OnComplete(Boolean succeeded, Exception >e) в Microsoft.Exchange.Provisioning.ProvisioningLayer.OnComplete(Task task, Boolean succeeded, >Exception exception)>

Завершено выполнение команды командной консоли Exchange: New-Mailbox -Name 'asd asd' -Alias 'asd' -UserPrincipalName '[email protected]' -SamAccountName 'asd' ->FirstName 'asd' -Initials '' -LastName 'asd' -Password 'System.Security.SecureString' ->ResetPasswordOnNextLogon $false

Прошло времени: 00:00:05

Нужно что-то в самом скрипте исправить, или в настройках консоли эксченджа?


Ответы (0 шт):