Bilgisayar hesaplarını toplu olarak yeni OU'ya taşıma


9

Yaklaşık 2500 bilgisayarlı bir kuruluş birimim var. Bunlardan 580'ini başka bir OU'ya taşımam gerekiyor. Bunu bir toplu iş dosyasıyla yapmanın bir yolu var mı? Bilgisayar adları ile bir metin dosyası var (FQDN değil).

Yanıtlar:


9
FOR /f %%i in (C:\path\to\textfile.txt) do (

  dsquery computer -name %%i | dsmove -newparent OU=newOU,DC=domain,DC=com

)

Bu senin için halletmeli.

edit: dsmove kullanmak zorunda kaldım beri bir süre oldu :) Bu hareket ettirdiğiniz nesnenin DN gerekiyor, bu yüzden listeden DN almak ve sonra boru bir dsquery bir boru önünde ekledim dsmove. Sadece NetBIOS adlarının bir listesi için bu şimdi iyi çalışmalıdır.


1 komutta bunu yapmak için +1
Nixphoe

1

Nixphoe'un cevabında küçük bir hata - tovs dove eksikdo

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
ServerFault için Welome. Mevcut yayınlarda önerilen düzenlemeleri yapmaktan lütfen çekinmeyin . Bu öneriler topluluk tarafından onaylanmak üzere incelenecektir.
jscott

1

Bir metin dosyasında bilgisayarlarınızın adlarının ve her satırda bir tane bulunduğunu varsayarsak, bunların fqdn'sini dışa aktarmak için aşağıdaki komutu çalıştırın

FOR /f %%a in (file.txt) DO dsquery computer -name %%a >> fqdnfile.txt

Sonra bunları taşımak için aşağıdaki komutu çalıştırın. Lütfen önce bunu test etmek için dsmove lue içindeki echo komutunu kullanın

FOR /f %%b in (fqdnfile.txt) DO dsmove %%b -newparent OU=newOU,DC=domain,DC=local

Test edin. Çalışmıyorsa bana bildirin.


1
Dsmove afaik için FQDN'ye ihtiyacınız yok.
MDMarra

Tatlı, daha önce hiçbir şeyleri toplu olarak taşımak için hiç gerek yoktu. Ama emir hakkında çok şey okudum. Bunu bildiğim iyi oldu! Sevindim aynı cevaba yaklaştım :)
Nixphoe

1
@Grey Tux İçeri komut dosyasını çalıştırmak gerekir cmddeğil powershell.
jscott

1
%% a yerine% a olmalıdır
Gray Tux

1
Evet,% 2'si bir toplu iş dosyasından çalıştırıyorsanız. Bir% komut satırından çalıştırıyorsanız
Nixphoe

0

Yeni yöneticiler için adım adım: Bilgisayar adlarının orada her satırda bir tane listelendiği file.txt dosyasını edinin.

PC-001
PC-002
PC-003

CMD'yi açın ve satırınızın file.txt ile aynı konumda olduğunu gösterdiğinden emin olun, ardından aşağıdaki satırı yapıştırın

FOR /f %a in (file.txt) DO dsquery computer -name %a >> fqdnfile.txt

Bu, file.txt dosyanızla aynı konumda fqdnfile.txt dosyası oluşturur

Bu, fqdnfile.txt dosyasını Ayırt adlarıyla ayrıştırır (her satıra bir tane)

NOT: BAT dosyası için %% çift ve CMD için% single kullanmanız gerekir

Ardından aşağıdaki satırı çalıştırın.

FOR /f %b in (fqdnfile.txt) DO dsmove %b -newparent "OU=COMPUTERS,OU=My Bus,DC=Domain,DC=com"

NOT: Adlarda boşluk varsa, ayırt edici adınız "" içine alınmalıdır, örn. Otobüsüm

Her şeyin doğru bir şekilde taşındığını kontrol etmek için aşağıdaki satırı ÇALIŞTIRIN

FOR /f %a in (file.txt) DO dsquery computer -name %a >> location.txt
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.