我正在尝试根据输入禁用AD帐户。TXT文件一个AD帐户,每天,由一个电子邮件时,成功。
Input.TXT内容:
User1.Name
Person1.Name
Person2.name
user2.Name
...
UserX.name
PersonX.Name
如果重新启动计划任务,理想情况下,脚本应继续到列表中的下一个活动AD帐户。
此脚本将在每个午夜的12:01 AM使用Scheduled任务运行。
到目前为止,这是我制作的:
$users = Get-Content "C:\userlist.txt"
$emailFrom = "your@email.com"
$emailTo = "recipient@email.com"
$smtpServer = "smtp.yourserver.com"
foreach ($user in $users) {
try {
Disable-ADAccount $user
Send-MailMessage -From $emailFrom -To $emailTo -Subject "User Account Disabled" -Body "$user's account has been disabled." -SmtpServer $smtpServer
} catch {
Send-MailMessage -From $emailFrom -To $emailTo -Subject "Error Disabling User Account" -Body "An error occurred while disabling $user's account: $_" -SmtpServer $smtpServer
}
Start-Sleep -Seconds 86400
}
2条答案
按热度按时间ut6juiuv1#
我个人会让任务完成每天从文件中一次删除一个用户。一个队列对我来说是有意义的,但也可以用一个列表来完成。
ergxz8rk2#
我认为你可以通过阅读文件(跳过空行)来做到这一点,将第一行作为用户禁用,然后将其余行保存回文件,以便第二天处理。