Adapting Shay Levy's answer on this similar question, can you add another condition to the Where-Object
to put both an upper and lower bound on the expiration date?
$NeverExpires = 9223372036854775807;
$ExpireMin = (Get-Date).AddDays(6);
$ExpireMax = (Get-Date).AddDays(8);
Get-ADUser -Filter * -Properties accountExpires |
Where-Object {$_.accountExpires -ne $NeverExpires `
-and [datetime]::FromFileTime([int64]::Parse($_.accountExpires)) -lt $ExpireMax `
-and [datetime]::FromFileTime([int64]::Parse($_.accountExpires)) -gt $ExpireMin }
I don't presently have any expiring accounts in the AD environment I have access to, so I don't know if this will work exactly as you're asking.