вторник, 17 июня 2008 г.

Exchange new user greetin message

Отправка сообщений новым пользователям Exchange. Использование:
  • сохранить в файл greeting.vbs
  • настроить парамеметры почтового сервера
  • Отредактировать тело сообщения
  • Отредактировать заголовок
  • Отредактировать отправителя и копии
  • запланировать выполнение в планировщике с нужной периодичностью
Это источник http://www.exchangecookbook.com/archives/2005/10/sending_a_welco.html
'Created by Mike Ruman 8/13/05
'Sends an email to accounts created today.

Dim StrDate, CurrentUTC
 
'Create the current date and time stamp for query for day before last
CurrentUTC = DatePart("yyyy", Date) 
'now add Month in mm if only M add leading 0 
if DatePart("m" , Now) < 10 then 
   CurrentUTC = CurrentUTC & 0 & DatePart("m" , Now) 
  else 
   CurrentUTC = CurrentUTC & DatePart("m" , Now) 
end if 
'now add Day in dd if only d add leading 0 
if DatePart("d" , Now) < 10 then 
'OPTIONAL - FOR MANY DAYS, replace line below with CurrentUTC = CurrentUTC & 0 & DatePart("d" , Now - X)  where X = # of days

   CurrentUTC = CurrentUTC & 0 & DatePart("d" , Now) 
  else 
'OPTIONAL - FOR MANY DAYS, replace line below with CurrentUTC = CurrentUTC & DatePart("d" , Now - X)  where X = # of days
   CurrentUTC = CurrentUTC & DatePart("d" , Now) 
end if 
' Tag hour, minute, second on 
strDate = CurrentUTC&"000001.0Z"
 
'Create AD Connection
Set oConnection1 = CreateObject("ADODB.Connection")
Set oCommand1 = CreateObject("ADODB.Command")
oConnection1.Provider = "ADsDSOObject"  ' This is the ADSI OLE-DB provider name
oConnection1.Open "Active Directory Provider"
' Create a command object for this connection.
Set oCommand1.ActiveConnection = oConnection1
'Set Query definition
' тут задаем параметры доступа к AD
oCommand1.CommandText = "select mail from 'LDAP://DC=Fabrikam, DC=com' WHERE objectCategory='Person' AND objectClass='user'AND msExchHideFromAddressLists<>'True' AND whenCreated>='" & strDate & "'"

oCommand1.Properties("Page Size") = 30000
' Execute the query.
Set rs = oCommand1.Execute
 

rs.movefirst
'Create the loop of results
Do Until rs.EOF = True
 
'Create Email
' настройки письма для пользователя
Set objEmail = CreateObject("CDO.Message")
' кодировка письма
objEmail.BodyPart.Charset="windows-1251"; 
' Адрес отправителя
objEmail.From = "Admin@fabrikam.com"
' Адрес получателя
objEmail.To = rs.Fields("mail")
'Optional BCC field Кому слать копию письма, можно закомментировать
'objEmail.BCC = "Admin@fabrikam.com"
' Тема сообщения
objEmail.Subject = "A welcome message from Exchange"
' Тело сообщения
objEmail.HTMLbody = "Welcome to Fabrikam. Please click on the attached file for a message."
 
'Optional Add an attachment. Добавление прикрепленного файла, можно закомментировать 
objEmail.AddAttachment "C:\new_hire_audio_message.wav"
 

objEmail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/sendusing  ") = 2

' Имя или IP почтового сервера
objEmail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserver  ") = _
        "ExchangeServer" 'Replace ExchangeServer with server IP or name
objEmail.Configuration.Fields.Item _
    ("http://schemas.microsoft.com/cdo/configuration/smtpserverport  ") = 25
objEmail.Configuration.Fields.Update
 
'Optional - Read the message before it's sent
'MsgBox objEmail.GetStream.ReadText
objEmail.Send
rs.movenext
Loop
 
'Close AD Connection
oConnection1.close


Комментариев нет: