Você precisará fazer três alterações:
Primeiro, altere $searchScope
de OneLevel
para Subtree
.
Em seguida, como agora você está pesquisando a subárvore, também será necessário colocar uma verificação no loop foreach para tentar a movimentação apenas se a localização atual do usuário não corresponder a $ fullOU. Caso contrário, ele tentará mover cada objeto para sua localização atual, o que causará erro e será ineficiente.
Por fim, você precisa alterar o argumento para Move-Adobject -Identity
. Seu código atual pressupõe que cada objeto sempre exista na UO raiz. Quando você pesquisa subárvore, não pode. Use Move-Adobject -Identity $_.distinguishedName