Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - VivaElPirateo

#11
Scripting / Acerca de los respaldos
7 Junio 2012, 02:15 AM
Buenas tardes comunidad:


En mi script, estoy programando diferentes tipos de respaldos: full, system state, incremental y diferencial.

El problema que tengo que al ejecutarlo en Windows XP, me arroja el siguiente error:


El comando no es válido.

El comando AT programa la ejecución de comandos y programas en un equipo a
una hora y fecha especificadas. El servicio de programación debe estar en
ejecución para utilizar el comando AT.



Dejo acá el código de uno de ellos:

:systemstate
set /p destino=Ingrese ruta destino de respaldo:
set /p back=Ingrese nombre del backup:
set /p dia=Ingrese los dias que quiere programar el respaldo ej. l,m,mi,j,v,s,d o 1,2,3,4 etc:
set /p hora=Ingrese la hora que quiere programar el respaldo ej. 20:00:
at \\\\%COMPUTERNAME% %hora% /every:%dia% ntbackup backup systemstate /J "systemstate" /M normal /F "%destino%\\%back%_%DATE%.bkf
echo respaldo del system state programado!!
pause
cls
goto respaldos


Cualquier ayudita se agradece!!!
#12
Buenas noches:


Estoy intentando resolver un problema que consiste en lo siguiente:

A través de un batch creo carpetas compartidas de la siguiente manera:

Código (DOS) [Seleccionar]
set /p unid=         Indique una unidad de disco :
echo.
set /p carp=         Asignele nombre a la carpeta:
echo.
md %unid%:\%carp%
NET SHARE %carp%=%unid%:\%carp%
echo.
pause
goto carpetas



Ahora el problema: intento asociar un usuario a una carpeta ya creada, pero me da errores el siguiente código que utilizo:

Código (DOS) [Seleccionar]
set /p nomusua=         Ingrese usuario para asociar a una carpeta :
echo.
set /p nomcarp=         Ingrese carpeta a la que sera asociada el usuario :
net share %nomusua%=%nomcarp% /grant:%nomusua%
echo.
pause
goto carpetas


Alguna ayudita, porfaaaaaaa!!!

Se me había olvidado que al principio lo había hecho así:


Código (dos) [Seleccionar]
set /p nomusua=         Ingrese usuario para asociar a una carpeta :
echo.
set /p nomcarp=         Ingrese carpeta a la que sera asociada el usuario :
net share "%nomcarp%" %nomusua% /add
echo.
pause
goto carpetas


Tampoco funciona...
#13
Puse ese comando en la consola y borra el grupo sin ningún problema.

Cuando ejecuto el script y sale lo del "todo ok"  presiono la s  y alcanzo a ver que sale algo así como:

"la sintaxis del comando..."


Creo que acá debe haber un error en estas líneas de código:

Choice /M "Todo OK?"
If %Errorlevel%==1 (

:: Eliminamos el grupo anterior y el backup de los usuarios.
net localgroup "%del%" /delete >NUL

Del /Q "%temp%\%del%_usuarios.txt"

) ELSE (
:: Mostramos el backup de los usuarios para deshacer los cambios manualmente xD.

notepad "%temp%\%del%_usuarios.txt"

)

exit



Si logro resolver esto luego, posteo.

Salu2





Lo tuve que dejar de la siguiente forma:


@Echo off


:Select
Echo Ingrese nombre del Grupo al que va a cambiar de nombre: | MORE

set /p del=^>^>

If not defined del (goto :select)

Net localgroup "%DEL%" >nul 2>&1 || (Echo. El grupo "%DEL%" no existe! | MORE & Set "Del=" & Goto :Select)


Echo+ & Echo ingrese nuevo nombre: | MORE

set /p add=^>^>
If not defined add (goto :select)


:: Pasamos la lista d los miembros a un archivo de texto, por si las moscas, para que no se pierda :P
net localgroup "%del%">"%temp%\%del%_usuarios.txt"


:: Creamos el nuevo grupo:
net localgroup "%add%" /add >nul


:: Obtenemos los usuarios del grupo que queremos borrar, Y los vamos añadiendo al nuevo grupo
For /F "tokens=*" %%a in ('net localgroup "%del%" ^| findstr /V /R "Comentario Miembros ----- Nombre.de.alias Se.ha.completado"') do (

net localgroup "%add%" /add "%%a" >NUL

)

CLS & Echo+ & Echo [+] Su nuevo grupo: | MORE

Net localgroup "%ADD%" | findstr /V /R "Comentario ----- Se.ha.completado"| MORE


:: Eliminamos el grupo anterior y el backup de los usuarios.
net localgroup "%del%" /delete >NUL

Del /Q "%temp%\%del%_usuarios.txt"
echo.
echo.
echo          El nombre del grupo se ha modificado correctamente!!!
echo.
echo.
pause
cls
Goto :select



Gracias y millón de bendiciones Elektro Hacker!!!!



A todo esto:

Existe alguna forma de que no se caiga el programa al insertar un espacio o signos como " espacios & ???


#14
Scripting / Re: [Batch] Se me cae el script
5 Junio 2012, 06:59 AM
Mil gracias de nuevo, Elektro HAcker y Edu.

Ahora mi script no se cae y parece más elegante!!!!


Millón de gracias!!!!!!!!!!!
#15
Scripting / Re: [Batch] Se me cae el script
4 Junio 2012, 06:25 AM
Al presionar una sola vez la tecla espaciadora antes de poner un número, me bota igual es script.

Lo mismo pasa si antes pongo cualquiera de los signos !"#$%&&//())== antes de un número.


set "var="   
set /p "var=               Ingrese un n£mero entre el 1 y el 8 : "

Set "var=%var:^"=%" & REM "

echo "%var%" | FINDSTR "\<[1-8]\>" >NUL || (Goto :inicio)

Goto :var%var%


Ayudaaaaaaaa!!!!!!!!
#16
Wow, que maravilla!!!!!!!!!!!!!

Te felicito master!!!!!!!!!!


Después del "Todo OK?" S-N  Se cae el programa.

Lo que no resulta es que el grupo anterior no se borra:

Se crea el nuevo grupo y se traspasan los usuarios de éste al nuevo, pero sigue dejando el grupo antiguo intacto.


#17
Con respecto a lo anterior:

Le modifiqué lo de group y lo dejé como localgroup.


@Echo off

set /p del=Ingrese nombre del Grupo al que va a cambiar de nombre:
set /p add=ingrese nuevo nombre:

:: Pasamos la lista d los miembros a un archivo de texto, por si las moscas, para que no se pierda :P
net localgroup "%del%">"%temp%\%del%_usuarios.txt"

:: Obtenemos los usuarios del grupo que queremos borrar, Y los vamos añadiendo al nuevo grupo
For /F "tokens=*" %%a in ('net localgroup "%del%" ^| findstr /V /R "Comentario Miembros ----- Nombre.de.alias"') do (
        REM Echo Comando: net localgroup "%add%" /add "%%a"
net localgroup "%add%" /add "%%a"
)

:: Eliminamos el grupo anterior
net localgroup "%del%" /delete

pause
exit





Me elimina el grupo, pero no me crea nada más.

Este es el log:


Ingrese nombre del Grupo al que va a cambiar de nombre:curajolo.cl
ingrese nuevo nombre: curita123
La sintaxis de este comando es:


NET LOCALGROUP
[nombregrupo [/COMMENT:"texto"]] [/DOMAIN]
              nombregrupo {/ADD [/COMMENT:"texto"] | /DELETE}  [/DOMAIN]
              nombregrupo nombre [...] {/ADD | /DELETE} [/DOMAIN]

Se ha completado el comando correctamente.

Presione una tecla para continuar . . .
#18
Buenas:

Me imagino que log te refieres a cuando ingresas en línea de comandos y escribes net users, no???

Acá está:

Se llama alfa1 el usuario


Microsoft Windows [Versión 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.

C:\Documents and Settings\Administrador>net localgroup alfa1
Nombre de alias      alfa1
Comentario

Miembros

-------------------------------------------------------------------------------
bullalbo1
johnritter1
panzer1
Se ha completado el comando correctamente.



#19
Gracias socitos!!!!!!!!!!!!

Lo que yo hice ahora para solucionar el problema del cambio de nombre (parece que en realidad no se puede hacer), es darle una solución alternativa:


:cambiarnombre
set /p nus=Ingrese nombre del Grupo al que va a cambiar de nombre:
echo.
set /p nux=ingrese nuevo nombre:
echo.
net group %nus% /delete
net group %nux% /add /domain
echo.
pause
cls
goto grupos


Con esto, borro el grupo exitente (por ponerle un nombre: alfa, y crea otro nuevo grupo llamado beta), pero lo de reintegrar a los usuarios del grupo alfa al beta, eso quedé en tragedia.

:huh:
#20
Buenas:

    Intento cambiarle el nombre a un localgroup de Windows Server 2003 a través de un batch.
Me genera error y no logro realizar lo que quiero hacer.

    Dejo el código para que me ayuden, por favor:


:cambiarnombre
echo.

set /p nus=                   Ingrese grupo :
echo.

set /p nux=                   Ingrese NUEVO nombre al grupo :
echo.

net localgroup %nus% /fullname:"%nux%"
echo.
pause
goto grupos



Se agradece cualquier ayuda.