¿Puedo solucionar esto sin un bucle FOR?
Tengo que hacer lo siguiente:
• Crea una unidad organizativa con el nombre indicado por el teclado, y añádele todos los usuarios o equipos que empiecen por ese nombre.
1. Pide y crea OU.
2. Busca equipos y usuarios.
3. Añade equipos/usuarios a la OU.
4. ¿Quedan equipos o usuarios? SI/NO.
Yo echo lo siguiente:
@echo off
echo Dime un nombre de OU para crear
set/P nombreOU=
dsquery ou -name %nombreOU% | find "%nombreOU%" >nul
if %errorlevel% == 0 (
echo La OU ya esta en uso
pause
) else (
echo Creando Unidad Organizativa nueva...
echo Espere a que la OU sea creada...
dsadd ou "OU=%nombreOU%, dc=ruthm, dc=local"
echo Su OU ha sido creada satisfactoriamente
pause
)
echo Buscando usuarios que empiecen por ese nombre...
dsquery user -name %nombreOU%* | find /n "%nombreOU%" >usuarios.txt
if %errorlevel% == 0 (
echo Estos son los usuarios encontrados con ese nombre:
type usuarios.txt
pause
echo Se van a agregar los usuarios mostrados a la OU %nombreOU%...
dsquery user -name %nombreOU%* | dsmove user "ou=%nombreOU%, dc=ruthm, dc=local"
echo Usuarios añadidos
) else (
echo No hay usuarios ni equipos encontrados con ese nombre
)
Todo me funciona correctamente hasta que llego a agregar a los usuarios que empiecen por ese nombre....no me deja moverlos. Por que no se como especificar que se lleve todos los usuarios que hay...
Lo que he pensado es que añada los usuarios que contiene el archivo txt pero no se como hacerlo ya intentado muchas cosas...no se si es que lo tengo con un for o si lo puedo hacer con un if o que me falla...alguien me puede ayudar??
• Crea una unidad organizativa con el nombre indicado por el teclado, y añádele todos los usuarios o equipos que empiecen por ese nombre.
1. Pide y crea OU.
2. Busca equipos y usuarios.
3. Añade equipos/usuarios a la OU.
4. ¿Quedan equipos o usuarios? SI/NO.
Yo echo lo siguiente:
@echo off
echo Dime un nombre de OU para crear
set/P nombreOU=
dsquery ou -name %nombreOU% | find "%nombreOU%" >nul
if %errorlevel% == 0 (
echo La OU ya esta en uso
pause
) else (
echo Creando Unidad Organizativa nueva...
echo Espere a que la OU sea creada...
dsadd ou "OU=%nombreOU%, dc=ruthm, dc=local"
echo Su OU ha sido creada satisfactoriamente
pause
)
echo Buscando usuarios que empiecen por ese nombre...
dsquery user -name %nombreOU%* | find /n "%nombreOU%" >usuarios.txt
if %errorlevel% == 0 (
echo Estos son los usuarios encontrados con ese nombre:
type usuarios.txt
pause
echo Se van a agregar los usuarios mostrados a la OU %nombreOU%...
dsquery user -name %nombreOU%* | dsmove user "ou=%nombreOU%, dc=ruthm, dc=local"
echo Usuarios añadidos
) else (
echo No hay usuarios ni equipos encontrados con ese nombre
)
Todo me funciona correctamente hasta que llego a agregar a los usuarios que empiecen por ese nombre....no me deja moverlos. Por que no se como especificar que se lleve todos los usuarios que hay...
Lo que he pensado es que añada los usuarios que contiene el archivo txt pero no se como hacerlo ya intentado muchas cosas...no se si es que lo tengo con un for o si lo puedo hacer con un if o que me falla...alguien me puede ayudar??