Решал аналогичную задачу так:
#Контейнер, в котором проверяем пользователей - значение distinguishedName
$UsersBase = 'OU=ХХХ,DC=ХХХ,DC=ХХХ,DC=ХХХ'
#Период неактивности пользователя в домене
$TimeSpan = 90
$TimeStamp = (Get-Date).AddDays(-($TimeSpan+14))
$logFile = "inactiveUsers_$(Get-Date -Format "dd.MM.yyyy").csv"
#Учетная запись актавна и LogonTimestamp наступило раньше, чем $TimeSpan; или lastLogonTimestamp пустое, но при этом запись создана более $TimeSpan дней назад
Get-ADUser -Filter {(Enabled -eq $true) -and ((lastLogonTimestamp -le $TimeStamp) -or ((lastLogonTimestamp -notlike '*') -and (whenCreated -le $TimeStamp)))} -SearchBase $UsersBase -Properties lastLogonTimestamp,whenCreated | select Name,SamAccountName,@{Name="lastLogonTimestamp";Expression={if ($_.lastLogonTimestamp -eq $null) {''} else {[datetime]::FromFileTime($_.lastLogonTimestamp)}}},whenCreated | sort -Property Name | Export-Csv $logFile -Encoding utf8 -NoTypeInformation