Seu pipeline não funciona do jeito que você espera.
$UserList=Get-ADUSER -Filter * -SearchScope Subtree -SearchBase "OU=myou,OU=otherou,DC=mydc,DC=local"
foreach ($User in $UserList) {
Set-ADAccountPassword $User -Reset -NewPassword (ConvertTo-SecureString -AsPlainText "NewPassord" -Force
Enable-ADAccount $User
Set-ADUSER $user -ChangePasswordAtLogon $true
}
Os pipelines não são bons para várias ações no mesmo objeto. Eles só funcionam se cada comando no pipeline encaminha o mesmo objeto que o objeto inicial. Para isso, iterar através de um loop faz muito mais sentido.