Zbiorcze przeniesienie kont komputerów do nowej jednostki organizacyjnej


9

Mam jednostkę organizacyjną z około 2500 komputerami. Muszę przenieść 580 z nich do innej jednostki organizacyjnej. Czy można to zrobić za pomocą pliku wsadowego? Mam plik tekstowy z nazwami komputerów (nie z FQDN).

Odpowiedzi:


9
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.


+1 za wykonanie tego w 1 poleceniu
Nixphoe

1

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

1
Witaj w ServerFault. Prosimy dokonać proponowanych zmian do istniejących stanowisk . Te sugestie zostaną sprawdzone przez społeczność do zatwierdzenia.
jscott,

1

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.


1
Nie powinieneś potrzebować nazwy FQDN dla dsmove afaik.
MDMarra

Słodko, nigdy wcześniej nie potrzebowałem masowego przenoszenia rzeczy. Ale dużo czytałem o poleceniu. Dobrze wiedzieć! Cieszę się, że
zbliżyłem się

1
@Grey Tux Należy uruchomić skrypt w cmdnie powershell.
jscott

1
musi być% a zamiast %% a
Gray Tux

1
Tak, dwa% jest, jeśli uruchamiasz go z pliku wsadowego. Jeden% jest, jeśli uruchamiasz go z wiersza poleceń
Nixphoe

0

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.