Assim como um FYI de uma pergunta semelhante no stackoverflow
"O AD não suporta este tipo de correspondência extensível"
Origem
O que eu basicamente fiz foi simplificar totalmente o roteiro com alguma ajuda do cartaz do powershellcommunity.org cameronove para apresentar o seguinte:
$DaysAgo = (Get-Date).AddDays(-31)
$ft = $DaysAgo.ToFileTime()
$StComps = Get-QADComputer -SizeLimit 0 -IncludeAllProperties '
-SearchRoot 'DC=MY,DC=DOMAIN,DC=LOCAL' '
-LdapFilter "(&(&(lastLogonTimeStamp<=$ft)(operatingsystem=*Windows*)))" '
| Where { $_.dn -notmatch "DisabledPCs"}
Eu simplifiquei o filtro do sistema operacional que me ajuda a evitar outros sistemas operacionais que não são do Windows e canalizo a exclusão da unidade organizacional para não incluir a unidade organizacional na qual desejo mover os sistemas posteriormente em meu script. Eu não estou incluindo essa parte aqui, porque eu logar para uma pasta de trabalho do Excel com um loop foreach e é muito mais envolvido do que o meu original Q? ...
Se você estiver interessado em ver todo o roteiro, sinta-se à vontade para me dar uma
@dboftlp no twitter
ou via dboftlp no gmail dot com