Adicione o atributo lastLogonTimestamp ao seu filtro e obtenha o valor numérico para lastLogonTimestamp há seis meses. Exemplo:
dsquery * domainRoot -filter "(&(objectCategory=computer)(operatingSystem=Windows XP*)(lastLogonTimestamp<=130200503900000000))" -limit 1000
130200503900000000 é o valor para 2013-08-03 20:39:50
No PowerShell, você pode obter o fileTime numérico da seguinte forma:
[datetime]::Now.AddDays(-180).ToFileTime()