en ce qui concerne mon message Clean up Active Directory j'essayais d'exécuter la commande

dsquery Computer -inactive 52 | DSMOVE -newparent OU=Test,OU=Devices,DC=domain,DC=com,DC=au

Lorsque j'exécute cette commande, j'obtiens le message d'erreur suivant

Échec de dsmove : 'CN=Computer1,OU=Staff PCs,OU=Devices,DC=domain,DC=com,DC=au' est un paramètre inconnu.

Des idées sur ce que cela signifie? lorsque je supprime le périphérique en question d'AD, il se produit simplement des erreurs sur l'ordinateur2 de la même manière. Me suis-je trompé de syntaxe ?

answer

Mes commandes dsmove canalisées fonctionnent (là où les vôtres et celles de Mary ne fonctionnaient pas), mais avec une restriction - je dois pouvoir utiliser dsquery pour voir l'unité d'organisation cible. Si dsquery ne peut pas voir la cible ou et que j'essaie d'y déplacer quelque chose, je reçois cette erreur (en arrière?) :

dsmove failed:<object I am trying to move>:Directory object not found.

Émettez la commande :

DSQuery.exe ou -name *test*

(ou quelle que soit l'unité d'organisation vers laquelle vous essayez de vous déplacer). Obtenez-vous un bon DN? Ou aucune donnée renvoyée ?

Relancez la commande dsquery ou et recherchez une autre unité d'organisation. Pouvez-vous déplacer l'objet vers cette unité d'organisation ?

La différence pour moi est le type de classe - OU=Computers (qui dans ADUC ressemble presque à n'importe quelle autre OU) est d'une classe "conteneur" et mon dsmove échoue. L'UO à laquelle mon dsmove réussit est d'une classe "unité organisationnelle".

Si je clique avec le bouton droit sur l'unité d'organisation et que je sélectionne l'onglet objet dans ADUC, je peux voir qu'il s'agit d'un conteneur ou d'une unité organisationnelle.

Qu'en penses-tu? Essayez-vous de passer à une unité d'organisation "conteneur" de classe ?

Intéressant. Je constate le même comportement. Placer directement l'entrée dans le côté droit du tuyau fonctionne, mais l'utiliser pour enchaîner des commandes ne fonctionne pas. Vous pouvez essayer de contourner ce problème en utilisant une boucle for ; cela a fonctionné pour moi, de toute façon:

for /f %f in ('dsquery computer -inactive %yourcount') do dsmove %f -newparent %yourparent

-Marie