Mover cuentas de computadora a una nueva unidad organizativa a granel

9

Tengo una unidad organizativa con alrededor de 2500 computadoras. Necesito mover 580 de ellos a otra unidad organizativa. ¿Hay alguna manera de hacer esto con un archivo por lotes? Tengo un archivo de texto con los nombres de las computadoras (no el FQDN).

Tux gris
fuente

Respuestas:

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

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

)

Eso debería encargarse de ti.

editar: Ha pasado un tiempo desde que tuve que usar dsmove :) Necesita el DN del objeto que está moviendo, así que agregué el dsquery frente a una tubería para obtener el DN de la lista y luego canalizarlo dsmove Esto debería funcionar bien ahora para una lista de solo nombres NetBIOS.

MDMarra
fuente
+1 por hacerlo en 1 comando
Nixphoe
1

Un pequeño error en la respuesta de Nixphoe: tovs doy una faltado

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
fuente
1
Bienvenido a ServerFault. Por favor, siéntase libre de hacer modificaciones sugeridas a las publicaciones existentes . Estas sugerencias serán examinadas por la comunidad para su aprobación.
jscott
1

Suponiendo que tiene los nombres de sus comptuers en un archivo de texto y 1 en cada línea, puede ejecutar el siguiente comando para exportar el fqdn de ellos

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

Luego ejecute el siguiente comando para moverlos. Utilice el comando echo en lue de dsmove para probar esto primero

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

Pruébalo Avísame si no funciona.

Nixphoe
fuente
1
No debería necesitar el FQDN para dsmove afaik.
MDMarra 01 de
Dulce, nunca antes necesité mover cosas a granel. Pero he leído mucho sobre el comando. ¡Bueno saber! Me alegro de
haberme
1
@ Grey Tux Deberías ejecutar el script cmdno powershell.
jscott 01 de
1
debe ser% a en lugar de %% a
Gray Tux
1
Sí, dos% es si lo estás ejecutando desde un archivo por lotes. Un% es si lo está ejecutando desde la línea de comandos
Nixphoe
0

Poco a poco para los nuevos administradores: Obtenga file.txt donde los nombres de las computadoras se enumeran allí uno por línea.

PC-001
PC-002
PC-003

Abra CMD y asegúrese de que su línea indique que se encuentra en la misma ubicación que su archivo.txt y luego pegue la línea a continuación

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

Esto creará un archivo fqdnfile.txt en la misma ubicación que su archivo.txt

Esto analizará fqdnfile.txt con nombres distinguidos (uno por línea)

NOTA: que debe usar el doble %% para el archivo BAT y el solo% para CMD

Luego corre la línea de abajo.

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

NOTA: Su nombre distintivo debe estar encerrado en "" si tiene espacios en los nombres, por ejemplo, My Bus

EJECUTE la línea de abajo para verificar si todo se movió correctamente

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