我正在尝试从AD中提取非活动用户并将输出保存在.csv文件中。然后,通过电子邮件将文件发送给管理员。如果我将脚本保存为###FIRST PART###
,则只能正常工作并保存.csv文件。如果在###SECOND PART###
我从Powershell运行Send-MailMessage
它运行完美,我收到了电子邮件。如果我将它们组合起来,它就不起作用了。我尝试添加一个Start-Sleep -s 15;
但是脚本在第一部分正确执行2秒后终止,它永远不会到达第二部分。
###FIRST PART###
import-module activedirectory
$domain = "my.domain"
$DaysInactive = 30
$time = (Get-Date).Adddays(-($DaysInactive))
Get-ADUser -Filter {LastLogonTimeStamp -lt $time -and enabled -eq $true} -Properties LastLogonTimeStamp |
select-object Name,@{Name="Stamp"; Expression={[DateTime]::FromFileTime($_.lastLogonTimestamp)}} | export-csv OLD_User.csv -notypeinformation;
###SECOND PART###
Start-Sleep -s 15;
Send-MailMessage -Attachments .\OLD_User.csv -To myemail@mydomain.com -Subject "Monthly Report - Inactive Users" -From "inactiveuserscript@mydomain.com" -SmtpServer "inbound.mydomain.com"