Solved

Need a Powershell VBScript solution to send email to all members of a DL including nested DL's for Exchange 2010

Posted on 2013-11-01
8
687 Views
Last Modified: 2013-11-15
Hi,

I need an automated script to send emails (regularly) to members of a DL. If the DL has a nested DL inside, it also has to send email to those members as well.

The solution could include Powershell script and/or VBScript.

The script(s) and procedure(s) will be executed by someone periodically.

Thank you
0
Comment
Question by:emelnik
  • 4
  • 3
8 Comments
 
LVL 37

Expert Comment

by:Neil Russell
ID: 39617894
As it is a DL  why are you not just emailing to the DL??
0
 

Author Comment

by:emelnik
ID: 39618088
Yes, need the script to mail to a particular DL and make sure all members get it. The issue here is that the scripts I found don't work for nested DL's.
0
 
LVL 40

Expert Comment

by:Subsun
ID: 39621518
Ideally when you send mail to a DL email address, the exchange server will expand the Dl's including nested Dl's and send the message to all recipients.. Are you saying it’s not working for you? Or Are you saying, you don’t want to send email to the distribution group email address?
0
 

Author Comment

by:emelnik
ID: 39623242
Let me share with you the script I have so far. This script was created to send test emails between two Exchange users. From what you are saying, this should also work with DL's and nested DL's?

Const ADS_PROPERTY_CLEAR = 1
Const ForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile _
("C:\TOOLS\OrchE2K7-PolicyTest\Emea\ht-servers.txt", ForReading)
Const cdoSendUsingPickup = 1
Const cdoSendUsingPort = 2 'Must use this to use Delivery Notification
Const cdoAnonymous = 0
Const cdoNTLM = 2 'None
'Delivery Status Notifications
Const cdoDSNDefault = 0 'None
Const cdoDSNNever = 1 'None
Const cdoDSNFailure = 2 'Failure
Const cdoDSNSuccess = 4 'Success
Const cdoDSNDelay = 8 'Delay
Const cdoDSNSuccessFailOrDelay = 14 'Success, failure or delay

Const UserAddressDL1 = "ldnctisvcorres@contoso.com"
Const UserAddressDL2 = "ldnctisvcorres@contoso.com"

set objMsg = CreateObject("CDO.Message")
set objConf = CreateObject("CDO.Configuration")

Do Until objTextFile.AtEndOfStream
strComputer = objTextFile.ReadLine
Wscript.Echo strComputer

Set objFlds = objConf.Fields
With objFlds
  .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort
  .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = strComputer
  .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoNTLM
  .Update
End With

strBody = "This email was sent via E2K7 hub " & strComputer & vbCRLF
'strBody = strBody & "THIS IS A TEST: PLEASE IGNORE. "  & vbCRLF
strBody = strBody & vbCRLF
strBody = strBody & "This message should be blocked. If you received this message, then the Policy is broken." & vbCRLF
strBody = strBody & UserAddressDL1 + "Test users able to send restricted messages to " +  UserAddressDL2 +" -Blocking" & vbCRLF
strBody = strBody & vbCRLF
strBody = strBody & "Please research issue" & vbCRLF
With objMsg
  Set .Configuration = objConf
  .To = UserAddressDL1
  .From = UserAddressDL2
  .Subject = "Active Policy Phase 3 Blocking:"
  .TextBody = strBody
   'use .HTMLBody to send HTML email."
  .DSNOptions = cdoDSNSuccessFailOrDelay
  .Fields.update
  .Send
End With

Loop
objTextFile.Close
0
Highfive + Dolby Voice = No More Audio Complaints!

Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

 
LVL 40

Expert Comment

by:Subsun
ID: 39623258
Yes.. If you send a mail to the group email address, then the mail will be delivered to all members in that group..
0
 

Author Comment

by:emelnik
ID: 39634290
OK, thanks. One final question, if I use the Send-MailMessage cmdlet in powershell to send email to Distribution Groups, then all members of the distribution group and nested distribution groups should get the message, correct?
0
 
LVL 40

Accepted Solution

by:
Subsun earned 500 total points
ID: 39634689
Yes..
0
 

Author Closing Comment

by:emelnik
ID: 39651966
Worked as the expert said.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Local Continuous Replication is a cost effective and quick way of backing up Exchange server data. The following article describes the steps required to configure Local Continuous Replication. Also, the article tells you how to restore from a backup…
This article explains in simple steps how to renew expiring Exchange Server Internal Transport Certificate.
In this video we show how to create an email address policy in Exchange 2013. We show this process by using the Exchange Admin Center. Log into Exchange Admin Center.:  First we need to log into the Exchange Admin Center. Navigate to the Mail Flow…
The basic steps you have just learned will be implemented in this video. The basic steps are shown to configure an Exchange DAG in a live working Exchange Server Environment and manage the same (Exchange Server 2010 Software is used in a Windows Ser…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now