Powershell 脚本的频率

Powershell 脚本的频率,powershell,Powershell,我正在尝试创建一个基于元数据csv文件的powershell脚本,我定义了一个列Frequency,其中包含一个数字 例如: PageName FrequencyMonths Email Page1 3 security@company.com Page2 6 HR@company.com PageName频率每月电子邮件 第13页security@company.com 第26页HR@company.com 我想知道我的

我正在尝试创建一个基于元数据csv文件的powershell脚本,我定义了一个列
Frequency
,其中包含一个数字

例如:

PageName FrequencyMonths Email Page1 3 security@company.com Page2 6 HR@company.com PageName频率每月电子邮件 第13页security@company.com 第26页HR@company.com 我想知道我的powershell在下一个频率日期时运行代码的方式

我的脚本从csv获取上述类似信息的输入,并“每天”运行一个计划任务,向上述人员发送电子邮件

我想安排我的PS脚本每天运行,但仅在3个月后向安全团队发送电子邮件(每3个月一次),每6个月向人力资源团队发送电子邮件

请建议


预期结果是根据月份的频率向各个团队发送邮件-使用每天运行的windows计划任务

您当前的脚本将$EmailDate设置为今天+x个月。但是每次脚本运行时,没有将值保存到任何位置。。。您应该创建另一列,其中包含下一次执行的日期

If( (get-date).date -le $row.NewColumn ){
# sent the mail
# replace $row.NewColumn with (get-date).Date.AddMonths($Frequency)
}

当您完成导出csv以替换旧的csv时。

到目前为止我拥有的:$csv=导入csv“$path”foreach($csv中的行){$PagenName=($Row)。PageName$Frequency=($Row)。FrequencyMonths$OwnerEmail=($Row)。OwnerEmail######$emaildate=(获取日期)。AddMonths($Frequency)}请回答您的问题。评论中的代码不可读。如果您每月最多只需要发送一次电子邮件,您可能不想每天运行此操作?您只需在每个月的第一天运行它,就可以节省一些理智检查。