유용한 스크립트 올려둡니다.
#Name: Inactive User Removal Tool
#Version: 2020-Nov-25-1
#Author: iseopkim@gmail.com
#Description:
#마지막으로 로그인한 날짜가 daysInactive보다 이전인 사용자 계정을 disable 상태로 만듭니다.
#비활성화한 사용자 목록 리포트가 reportDirectory 폴더 안에 저장됩니다.
#배열 변수 searchBase에 OU를 따옴표와 콤마로 구분하여 지정합니다.
######################### Configuration Items #########################
$daysInactive=30
$reportDirectory="D:\"
$searchBase=@("OU=Org A,DC=TEST,DC=LOCAL","OU=Org B,DC=TEST,DC=LOCAL")
#######################################################################
$refDate=(Get-Date).AddDays(-$daysInactive)
$reportFile=$reportDirectory+"\InactiveUserReport_"+(Get-Date -Format yyyy-MMM-dd_HHmmss)+".csv"
$target=$searchBase|%{
Get-ADUser -Filter {(LastLogonDate -notlike "*" -or LastLogonDate -lt $refDate) -and (Enabled -eq $true)} -SearchBase $_ -Properties LastLogonDate,Description
}
$target|Disable-ADAccount
$target|select SamAccountName,Name,LastLogonDate,Description|sort -Property SamAccountName|Export-Csv -LiteralPath $reportFile