如何解决Powershell,将已被禁用的每个用户的电子邮件发送给他们的经理
因此,在获得大量帮助之后,有一个脚本可以搜索过去14天被禁用的用户,并显示其经理姓名+电子邮件和被禁用的日期:
$ou = "my-ou"
$date = (Get-Date).AddDays(-14)
$todaydate = Get-Date -DisplayHint Date
$disabledAccounts = Get-aduser -filter {Enabled -eq $false -and Modified -ge $date } -SearchBase $ou -Properties Modified,manager | select samaccountname,Modified,manager
#$ManagerName = ''
$Body = ”
<html>
<body>
<p>Dear $ManagerName,<br>
The user $userName has been disabled on $todaydate .<br
</body>
</html>”
ForEach($disabledAccount in $disabledAccounts){
$manager = get-aduser -property emailaddress,DisplayName $disabledAccount.manager
$ManagerName= $manager.Displayname
$userName = $disabledAccount.samaccountname
Send-MailMessage -To $manager.UserPrincipalName -From ‘test@email.com’ -Subject ‘Disabled account’ -Body $Body -SmtpServer ‘mysmtp’ -BodyAsHtml -Priority High
}
现在的问题是,在我的测试中,该脚本在这段时间内只有2个禁用用户,因此该脚本仅向1个用户发送电子邮件。 第一个带有“ Get-Aduser”的命令可以看到两个用户,第二个带有“ Get-aduser”的命令只能看到1。
解决方法
$ou = "my ou direction"
$date = (Get-Date).AddDays(-14)
$diabledAccounts = Get-ADUser -Filter {Enabled -eq $false -and Modified -ge $date } -SearchBase $ou -Properties Modified,manager | select samaccountname,Modified,@{n='Manager';e={(Get-ADUser $.manager).name}},@{n='ManagerEmail';e={(Get-ADUser $.manager -properties mail).mail}}
ForEach($diabledAccount in $diabledAccounts){
Send-MailMessage -To $diabledAccount.ManagerEmail -Subject 'Disabled account' -Body "Account $diabledAccount.samaccountname has been disabled in the last 14 days" -SmtpServer ''
}
,
我在Spice工程上回答了类似的问题
$ou = “my_ou”
$date = (Get-Date).AddDays(-14)
$disabledAccounts = Get-aduser -filter {Enabled -eq $false -and Modified -ge $date } -SearchBase $ou -Properties Modified,manager
$ManagerName = ''
$Body = ”
<html>
<body>
<p>Dear $ManagerName,<br>
The user $userName has been disabled on .<br
</body>
</html>”
ForEach($disabledAccount in $disabledAccounts){
$manager = get-aduser -property emailaddress,DisplayName $disabledAccount.manager
$ManagerName= $manager.Displayname
$userName = $disabledAccount.samaccountname
Send-MailMessage -To $manager.ManagerEmail -From ‘myemail@’ -Subject ‘Disabled account’ -Body $Body -SmtpServer ‘mysmtp server’ -BodyAsHtml -Priority High
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。