Dudas con unos comandos

Iniciado por Agurd, 7 Abril 2008, 17:00 PM

0 Miembros y 1 Visitante están viendo este tema.

Agurd

Hola bueno mi duda es la siguiente:

Queria un comado q comprobara si existe en la PC local un usuario determinado...
Algo asi:

Código:

@echo off
echo prueba
:menu
set /p user= usuario:
pause > nul
net users>usuarios.txt
pause
rem mi duda es aca... como hacer un for q busque en el archivo y si lo
rem encuentra ejecute el DO....
rem Habia pensado las sig opciones pero no me funcionan.....
rem algun consejo?¿
FOR /F %%A IN ('find /i "%user%" usuarios.txt') do if %%A equ %user% (echo %%A) else echo no
FOR /F %%q in (usuarios.txt) DO if %%q equ %user% (echo %%q)
rem alguna sugerencia?¿ q estoy haciendo mal ..?
pause > nul
exit


Se me entiende?¿    :rolleyes:

gracias de antemano!!   ;D

Saludos!!

Editado:

Pongo de paso otras dudas...  ;D ;D

La primera hay forma de ejecutar un programa en una red con el comando start¿? algo como
Código:
...por ejemplo....
start /(parametro) en \\Mis sitios de red\Master\PC20

Y la otra, hay forma de hacer un
Código:
net user /time:
y en vez de especificar en q horarios y dias puede entrar.. poner q puede cualquier dia pero solo una hora al dia.....
O lo tendria q hacer con un contador y un shutdown apenas inice sesion el usuario ... osea agregarlo al registro para q se inicie con windows.....  Roll Eyes Roll Eyes

Son muchas dudas.. jaja.. gueno asi evito muchos posteos....  ::)

Gracias por cualquier sugerencia para cualquiera de las 3 dudas..... :o  ;D ;D

Stacker

Hola

Para el primer código, yo no usaria un FOR. Puedes usar: net users | find /i "%user%"
-/i hace que no se diferencien mayúsculas de minúsculas.

Y después usar un if para comprobar si se encontraron resultados.

@echo off
echo prueba
:menu
set /p user= usuario:
net users | find /i "%user% ">nul
if %errorlevel%==0 (echo Existe) else (echo No existe)
pause > nul
exit


En "%user% " hay un espacio intencionado ya que evita que se den falsos positivos con partes de otra palabra.




Con lo del comando start no te puedo ayudar, pero puedes leer algún manual de netcat,  nircmd...




Por último lo de las horas de inicio de sesión, creo que queda así:

net user /times:L-D,4PM-5PM

Aquí te dejo ayuda de los comandos NET:
http://cpys.iespana.es/cpys/winnt/net.pdf

Pregunta si algo no funciona.

Saludos

Agurd

Muchisimas gracias!!!!!!!!!!!!!!!  ;D ;D ;D :laugh:

No sabes la cantidad de kosas q probe y jamas se me paso por la cabeza los errolevel...
jeje!!!  ;D

Problema resuelto!

Saludos!


H1@

#3
Citarhay forma de ejecutar un programa en una red con el comando start¿?

¿Te refieres a archivos compartidos dentro de una red local?

Con el intérprete de comandos (protocolo NETBIOS) no puedes ejecutar un fichero o programa de forma remota,  ya que los ficheros o recursos compartidos de la máquina remota están cargados en la memoria de tu máquina local.
"No se ejecutan en la otra máquina, sino en la tuya"

Para poder ejecutar en otra máquina debes iniciar una sesión telnet, ssh, netcat

Por cierto muy bueno el manual de los comandos net  ;)
#include <iostream>

using namespace std;

void cerebroDeBush()
  {
    char cerebro[3];
    cout << "¿Cuantas neuronas tiene Bush?\n";
    cin.get(cerebro,2);
    cout<<"Numero de neuronas: "<<cerebro<<endl;
   }

int main()
     {
       cerebroDeBush();
        return 0;
     }

Agurd

Cita de: H1@ en 10 Abril 2008, 02:55 AM
¿Te refieres a archivos compartidos dentro de una red local?

Si.. queria por ejemplo en una red ejecutar en tal equipo el notepad o el cmd iexplorer o un programa X. Tambien estaba viendo formas de hacerle aparecer un mensaje o mandarle uno.....

Voy a informarme un poco sobre los comandos con el NC o telnet... y despues comento!  ;D. Si alguien me facilita esa informacion le agradezco!  ;D ;D si no ya busco en google! ;D

Ah y de la ultima duda limitar el tiempo de inicio de sesion a un usuario... deberia hacerlo con un contador no+¿? q se inicie con windows y cuando llegue a tal tiempo se apague el euipo no? :rolleyes:

Saludos