echo "默认开始日期为【1】号|默认结束日期为【下月1】号"
#获取过滤数据的月份
$Start_Time = Read-Host "请输入开始月份"
$End_Time = Read-Host "请输入结束月份"
#假如用户需要的五月份的数据,结束月份加1,结束日期默认为1号
$monthNum = [int]$End_Time
# 如果月份小于12,则增加一个月
if($monthNum -lt 12){
$newMonth = $monthNum + 1
}
# 如果月份已经是12月,则将新月份设置为1月,表示下一年的1月份
else{
$newMonth = 1
}
#转为字符串格式
$int_to_str = $newMonth.ToString()
#过滤数据
$Get_UserData = Get-ADUser -Filter * -Properties AccountExpirationDate,Enabled | Where-Object {($_.AccountExpirationDate -ge "2023-$Start_Time-01") -and ($_.AccountExpirationDate -le "2023-$int_to_str-1")-and ($_.Enabled -eq $false)}
#过滤字段,导入到csv文件
$Get_UserData | Select-Object AccountExpirationDate,DistinguishedName,Enabled,Name,UserPrincipalName | Export-Csv -Path "D:\data.csv" -Encoding UTF8
#删除第一行数据
(Get-Content -Path "D:\data.csv") | Select-Object -Skip 1 | Out-File -FilePath "D:\data.csv" -Encoding utf8
标签:AccountExpirationDate,Get,过期,月份,int,过滤,Time,csv,powershell From: https://blog.51cto.com/u_14213108/6223812