elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Crear usuarios con un batch
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Crear usuarios con un batch  (Leído 5,659 veces)
juntacadaveres

Desconectado Desconectado

Mensajes: 76



Ver Perfil
Crear usuarios con un batch
« en: 19 Abril 2019, 23:46 pm »

Me han mandado hacer un script de batch para crear usuarios
pero con unos matices:

-si el usuario que abre el script no es administrador
debe aparecer un echo diciendo que no tiene permisos y se cierre la consola

-si el que lo abre es el administrador y la cuenta no existe
que aparezca un echo anunciando que la operación se realizó exitosamente

-el administrador abre el script pero ya existe el usuario.
echo el usuario a crear ya existe

Bien, aquí el problema son los errorlevels
-Si un usuario es creado el valor del errorlevel es cero
-Si un usuario que no es administrador intenta crear un usuario con el script el valor del errorlevel es un dos
-Si un administrador intenta crear un usuario que ya existe mediante el script el errorlevel también me da un dos

BUENO
Sabiendo que en dos situaciones el errorlevel es de dos. ya no sé cómo seguir.. ni empezar

Código:
set /p usuario=Nombre de usuario a crear > 
net user %usuario% /add && echo usuario creado || echo (el usuario ya existe | no eres administrador)

Pero yo quiero hacerlo mediante errorlevels

IF %ERRORLEVEL% EQU 2  (
ECHO NO ERES ADMINISTRADOR
)

IF %ERRORLEVEL% EQU 2  (
ECHO EL USUARIO YA EXISTE
)

pero ambos casos los valores son 2. No sé cómo seguirla. Estoy aprendiendo batch.


En línea

juntacadaveres

Desconectado Desconectado

Mensajes: 76



Ver Perfil
Re: Crear usuarios con un batch
« Respuesta #1 en: 20 Abril 2019, 00:09 am »

Hola he mejorado el script

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. @echo. && echo ==================== && echo creacion de usuarios && echo ==================== && echo.
  4. set /p nombre="Nombre de usuario> "
  5. net user %nombre% /ADD >nul (
  6.    IF ERRORLEVEL 2 (
  7.        echo ALGO SALIO MAL
  8.    )
  9.  
  10.    IF NOT ERRORLEVEL 1 (
  11.        echo EXITOSO
  12.    )
  13. )
  14.  
  15. pause>nul

Pero no sé cómo hacer el echo específico cuando sea el usuario sin permisos quien abra el batch
y el echo específico cuando el usuario a crear ya existe
además de borrar este mensaje al realizar el comando net user


====================
creacion de usuarios
====================

Nombre de usuario> lola
Error de sistema 5.

Acceso denegado.

No tienes permisos o no eres administrador



En línea

EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.176



Ver Perfil
Re: Crear usuarios con un batch
« Respuesta #2 en: 20 Abril 2019, 01:58 am »

Saludos,

- Lo más simple es hacer el chequeo sobre los permisos de administrador mediante otro comando, por ejemplo se usa bastante net session >Nul 2>&1

- Puedes ver los detalles en este enlace:
https://stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rights
En línea

juntacadaveres

Desconectado Desconectado

Mensajes: 76



Ver Perfil
Re: Crear usuarios con un batch
« Respuesta #3 en: 20 Abril 2019, 12:10 pm »

Saludos,

- Lo más simple es hacer el chequeo sobre los permisos de administrador mediante otro comando, por ejemplo se usa bastante net session >Nul 2>&1

- Puedes ver los detalles en este enlace:
https://stackoverflow.com/questions/4051883/batch-script-how-to-check-for-admin-rights

Hola muchas gracias
al final el script me quedó así:

Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. echo ======================
  4. echo  Creacion de usuarios
  5. echo ======================
  6. echo.
  7. rem COMPROBAR SI EL USUARIO QUE ABRE EL FICHERO ES ADMINISTRADOR
  8. net session >NUL 2>NUL
  9.    IF NOT ERRORLEVEL 1 (
  10.        GOTO CREACION
  11.    )
  12.     IF ERRORLEVEL 1 (
  13.         ECHO NO TIENE PERMISOS PARA USAR ESTE FICHERO
  14.         PAUSE>NUL
  15.         GOTO SALIDA
  16.     )
  17.  
  18. :CREACION
  19. SET /P NOMBRE="NOMBRE DE USUARIO A SER CREADO > "
  20. NET USER %NOMBRE% /ADD >NUL 2>NUL
  21.    IF NOT ERRORLEVEL 1 (
  22.        ECHO EL USUARIO %NOMBRE% HA SIDO CREADO EXITOSAMENTE
  23.        GOTO SALIDA
  24.    )
  25.    IF ERRORLEVEL 1 (
  26.        ECHO EL USUARIO %NOMBRE% YA EXISTE
  27.        PAUSE>NUL
  28.        CLS
  29.        GOTO CREACION
  30.    )
  31.  
  32. :SALIDA
  33. FOR /L %%A IN (3,-1,1) DO (
  34.    echo EL PROGRAMA SE CERRA EN %%A SEGUNDOS... && TIMEOUT 1 /NOBREAK >NUL
  35. )
  36. EXIT
  37.  
« Última modificación: 20 Abril 2019, 12:52 pm por juntacadaveres » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Crear Batch
Scripting
adsla 5 5,176 Último mensaje 4 Noviembre 2011, 23:15 pm
por adsla
[BATCH] Duda sobre recursividad en directorio y permisos de usuarios
Scripting
Aeros 3 3,251 Último mensaje 5 Marzo 2015, 16:00 pm
por Aeros
Crear un batch
Scripting
yottaXT 3 2,439 Último mensaje 17 Marzo 2017, 04:24 am
por Eleкtro
Make Batch Files - software para crear tus batch-scripts de forma sencilla
Scripting
Eleкtro 3 4,238 Último mensaje 2 Marzo 2018, 15:11 pm
por **Aincrad**
Crear un batch desde otro batch con variables
Scripting
Javiito_32 3 3,402 Último mensaje 26 Septiembre 2018, 17:52 pm
por Javiito_32
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines