Odpowiedzi:
FOR /f %%i in (C:\path\to\textfile.txt) do (
dsquery computer -name %%i | dsmove -newparent OU=newOU,DC=domain,DC=com
)
To powinno za ciebie zadbać.
edycja: Minęło trochę czasu, odkąd musiałem używać dsmove :) Potrzebuje nazwy wyróżniającej obiektu, który przenosisz, więc dodałem dsquery przed potokiem, aby uzyskać nazwę wyróżniającą z listy, a następnie potokować ją do dsmove. To powinno teraz działać poprawnie dla listy tylko nazw NetBIOS.
Mały błąd w odpowiedzi Nixphoe - tovs doi brakującydo
FOR /f %%a in (file.txt) do dsquery computer -name %%a >> fqdnfile.txt
FOR /f %%b in (fqdnfile.txt) do dsmove %%b -newparent OU=newOU,DC=domain,DC=local
Zakładając, że masz nazwy swoich komputerów w pliku tekstowym i 1 w każdym wierszu, uruchom następujące polecenie, aby wyeksportować ich fqdn
FOR /f %%a in (file.txt) DO dsquery computer -name %%a >> fqdnfile.txt
Następnie uruchom następujące polecenie, aby je przenieść. Aby przetestować to najpierw, użyj polecenia echo w lue dsmove
FOR /f %%b in (fqdnfile.txt) DO dsmove %%b -newparent OU=newOU,DC=domain,DC=local
Przetestuj to. Daj mi znać, jeśli to nie zadziała.
cmdnie powershell.
Krok po kroku dla nowych administratorów: pobierz plik.txt, w którym nazwy komputerów są tam wymienione po jednym w wierszu.
PC-001
PC-002
PC-003
Otwórz CMD i upewnij się, że linia wskazuje, że znajduje się w tym samym miejscu co plik.txt, a następnie wklej poniższy wiersz
FOR /f %a in (file.txt) DO dsquery computer -name %a >> fqdnfile.txt
Spowoduje to utworzenie pliku fqdnfile.txt w tej samej lokalizacji co plik.txt
Spowoduje to przetworzenie pliku fqdnfile.txt z nazwami Distinguish (po jednym w wierszu)
UWAGA: należy użyć podwójnego %% dla pliku BAT i pojedynczego% dla CMD
Następnie uruchom wiersz poniżej.
FOR /f %b in (fqdnfile.txt) DO dsmove %b -newparent "OU=COMPUTERS,OU=My Bus,DC=Domain,DC=com"
UWAGA: Twoja nazwa wyróżniająca powinna być ujęta w „”, jeśli masz spacje w nazwach, np. My Bus
URUCHOM linię poniżej, aby sprawdzić, czy wszystko zostało poprawnie przeniesione
FOR /f %a in (file.txt) DO dsquery computer -name %a >> location.txt