日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

清理AD过期对象,并将结果发送给指定管理员

發(fā)布時間:2025/4/5 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 清理AD过期对象,并将结果发送给指定管理员 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

需求

需求為清理AD中過期的帳號,本打算是直接清理90天未登錄的帳號就可以了,結(jié)果領(lǐng)導(dǎo)又擔(dān)心如果一些長期出差在外的人員怎么辦,所以后面加了一個30天的郵箱判定,如果這個人90天未登錄域,又30天未登錄郵箱,那應(yīng)該是可以清的了

?

操作

直接上正文,里面有注釋

#加域AD模塊
Import-Module ActiveDirectory
#加載Exchange模塊
Add-PSSnapin Microsoft.Exchange.Management.Powershell.E2010
#定義90天的值
$When1 = (Get-Date).AddDays(-90).ToFileTime()
#定義30天的時間值
$When2 = (Get-Date).AddDays(-30).Date
#提取出超過90天未登錄域的計算機列表
$PC = Get-ADComputer -Filter {LstLogontimeStamp -lt $When1 } -SearchBase "OU=test01,DC=dztest,DC=com"
#禁用并移動過期計算機帳號
$PC | Set-ADObject -ProtectedFromAccidentalDeletion:$false | Disable-ADAccount | Move-ADObject -ErrorAction SilentlyContinue -TargetPath "OU=Test02,DC=dztest,DC=com"
#獲取超過90天未登錄域的用戶列表
$user = Get-ADUser -Filter {LastLogonTimeStamp -lt $When1} -SearchBase "OU=test01,DC=dztest,DC=com" -Properties * | Select-Object Name,SamAccountName,Mail
#篩選出沒有郵箱的用戶
$user1 = $user | where{$_.mail -eq $null}
#篩選出有郵箱的用戶
$user2 = $user | where{$_.mail -ne $null}
#直接將沒有郵箱的用戶移動到指定的OU中并禁用
$user1 | Set-ADObject -ProtectedFromAccidentalDeletion;$false | Disable-ADAccount | Move-ADObject -ErrorAction SilentlyContinue -TargetPath "OU=test02,DC=dztest,DC=com"?
#在結(jié)果中篩選出超過30天未登錄郵箱的用戶
$Euser = $user2.mail | Get-MailboxStatistics | Where-Object {$_.lastlogontime -lt $when2} | Select-Object DisPlayName,LastLogontime
#反查AD帳號信息
$user3 = $euser.displayname | Get-Mailbox | Select Name,SamAccountName
#將結(jié)果用戶移動到指定的OU并禁用
$user3 | Set-ADObject -ProtectedFromAccidentalDeletion:$false | Disable-ADAccount |? Move-ADObject -ErrorAction SilentlyContinue -TargetPath "OU=test02,DC=dztest,DC=com"
#將超過90天未登錄域且無郵箱的對象,或超過90天未登錄到域,且超過30天未登錄郵箱的用戶操作結(jié)果發(fā)郵件給管理員
#發(fā)件人
$from = "test01.dztest.com"
#收件人
$to = "524990799@qq.com"
#抄送,如密送可以用BCC
#$cc = ""
#SMTP服務(wù)器地址
$smtp = "mail.dztest.com"
#郵件主題
$subject = "Powershell Send Mail Test"
#郵件正文
$body = "
此次禁用超過90天未登錄域且無郵箱用戶為:
$($user1 | Out-String)
此次禁用超過90天未登錄域且30天未登錄郵箱用戶為:
$($user3 | Out-String)
"
#附件
#$p_w_upload = "e:\1.txt"
安全憑證
secpasswd = ConvertTo-SecureString "password" -AsPlainText -Force
mycreds = New-Object System.Management.AutoMation.PSCredential ($from,$secpasswd)
#發(fā)送郵件
Send-MailMessage -To $to -From $from -Subject $subject -Body $body -Credential $mycreds -SmtpServer $smtp -DeliveryNotificationOption Never -Encoding UTF8

?

總結(jié)

如有其他疑問,歡迎提出

轉(zhuǎn)載于:https://blog.51cto.com/duwei025/1710281

總結(jié)

以上是生活随笔為你收集整理的清理AD过期对象,并将结果发送给指定管理员的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。