fnInGroupAD() does indeed support Distribution groups, I just tested it, whereas InGroup() does not. I'd still suggest using Securtiy groups for this operation unless you setup the DL for the purpose of informing users of events with those printers.

What is an UDF? A user defined function. It must be included in your script if you are going to use it. There is a FAQ in the FAQ Forum describing the usage of UDF's.