Ya esta, He echo el code testeandolo en una máquina virtual (En mi pc como ya dije, no puedo).
Aqui lo tienes:
Output:
Saludos.
Aqui lo tienes:
Código (dos) [Seleccionar]
@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
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
Output:
Saludos.