繁体   English   中英

Powershell - Select 名称来自数组并将 email 发送到 DL

[英]Powershell - Select name from array and send email to DL

我很新,而且总体上仍在学习 Powershell/脚本。 我正在为我的团队做一个简单的任务,应该做以下事情。

  • 每个星期一,它都会通过团队成员列表 go,选择一个名称并将带有该名称的 email 发送给 DL。
  • 我希望我使用 Get-Content 将名称设置为 txt 文件中的变量。

我需要帮助的是试图弄清楚如何每周从变量 ($name) 中获取一个名称到 select 的 PS。

例如,名称如下: John R Jim B Sam W Ron C Vincent W

我希望“send-mailMessage”正文每周只包含一个名称。 我将安排脚本在每个星期一早上运行。 但我不确定如何让它选择 1 个名称并在下周移至下一个名称?

我编写了一个基本脚本,它基本上从 txt 文件创建了一个变量“$name”,完成了基本的 email SMTP 设置和 Sen-MailMessage 正文以包含名称的子表达式。 只需要帮助来确定如何从列表中找到 select 1 名称。

我的逻辑是正确的还是有更好的方法可以做到这一点?

(也是这里的第一个帖子,让我知道我是否应该在以后的帖子中做不同的事情)

编辑:这是我此刻所拥有的:

$names = Get-Content -Path "C:\scripts\list.txt"
#SMTP settings
$emailpw = ConvertTo-SecureString "*********" - AsPlainText -Force
$emailsmtp = "emails.domain.com"

$mailsender = "Sender Email <noreply@domain.com>"
$mailbox= "Receiver <receiver@domain.com>"

#Send Email
Send-MailMessage -to $mailbox -from $mailboxsender -Subject "example 
subject" -body "This is a body using variable $($name) etc..." -BodyAsHtml 
-priority High -credential $emailcred -SmtpServer $emailsmtp 

在我的手机上,所以我没有代码给你,但如果你真的需要循环浏览这些名称,我会将我正在使用的名称的索引写入一个文本文件。 第一次运行应该寻找该文件,当它没有找到它时,从 0 开始并将其写入文件。 下一次运行应该会看到该文件并将检索到的值加 1。 如果该值超过了数组上限,则 go 回到 0。如果添加或删除名称,这将使其无法正常工作。 我还会在开始此过程之前对名称进行排序,以便它们始终保持相同的顺序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM