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

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.


+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

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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.