Pindahkan akun komputer ke OU baru secara massal

9

Saya memiliki OU dengan sekitar 2500 komputer. Saya perlu memindahkan 580 dari mereka ke OU lain. Apakah ada cara untuk melakukan ini dengan file batch? Saya memiliki file teks dengan komputer (bukan FQDN).

Grey Tux
sumber

Jawaban:

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

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

)

Itu harus mengurusnya untuk Anda.

sunting: Sudah lama sejak saya harus menggunakan dsmove :) Perlu DN objek yang Anda pindahkan, jadi saya menambahkan dsquery di depan pipa untuk mendapatkan DN dari daftar dan kemudian pipa itu untuk dsmove. Ini seharusnya berfungsi dengan baik sekarang untuk daftar nama NetBIOS saja.

MDMarra
sumber
+1 untuk melakukannya dalam 1 perintah
Nixphoe
1

Kesalahan kecil dalam jawaban Nixphoe - tovs dodan hilangdo

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
sadsad
sumber
1
Selamat datang di ServerFault. Silakan melakukan pengeditan yang disarankan untuk posting yang ada . Saran-saran ini akan diperiksa oleh komunitas untuk disetujui.
jscott
1

Dengan asumsi bahwa Anda memiliki nama-nama komputer Anda dalam file teks dan 1 pada setiap baris Anda menjalankan perintah berikut untuk mengekspor fqdn mereka

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

Kemudian jalankan perintah berikut untuk memindahkannya. Silakan gunakan perintah gema di lue of dsmove untuk menguji ini terlebih dahulu

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

Uji itu. Beri tahu saya jika itu tidak berhasil.

Nixphoe
sumber
1
Anda seharusnya tidak memerlukan FQDN untuk dsmove afaik.
MDMarra
Manis, sebenarnya tidak perlu memindahkan barang dalam jumlah besar sebelumnya. Tetapi saya sudah membaca banyak tentang perintah itu. Senang mendengarnya! Senang saya mendapatkan jawaban yang sama dengan yang Anda lakukan :)
Nixphoe
1
@Grey Tux Anda harus menjalankan skripnya cmdtidak powershell.
jscott
1
itu harus% a bukannya %% a
Grey Tux
1
Ya, dua% adalah jika Anda menjalankannya dari file batch. Satu% adalah jika Anda menjalankannya dari baris perintah
Nixphoe
0

Sedikit demi sedikit langkah untuk admin baru: Dapatkan file.txt di mana nama komputer terdaftar di sana satu per baris.

PC-001
PC-002
PC-003

Buka CMD dan pastikan baris Anda menunjukkan berada di lokasi yang sama dengan file.txt Anda, lalu tempelkan baris di bawah ini

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

Ini akan membuat file fqdnfile.txt di lokasi yang sama dengan file.txt Anda

Ini akan mengurai fqdnfile.txt dengan nama Bedakan (satu per baris)

CATATAN: Anda harus menggunakan %% ganda untuk file BAT dan% tunggal untuk CMD

Kemudian jalankan baris di bawah ini.

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

CATATAN: Nama Anda yang berbeda harus dimasukkan dalam "" jika Anda memiliki spasi dalam nama, mis. Bus Saya

JALANKAN baris di bawah ini untuk memeriksa apakah semuanya dipindahkan dengan benar

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