Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-01-2008
trohan trohan is offline
Miembro
 
Registrado: abr 2007
Posts: 16
Poder: 0
trohan Va por buen camino
Agregar y eliminar usuarios desde otra Pc

Existe la posibilidad de poder crear usuarios desde una Pc a otra y a la vez poder agregar a estos a algun grupo, ya sea administradores o a cualquier otro????
Responder Con Cita
  #2  
Antiguo 28-01-2008
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
saludos!!

bueno, mira, te voy a dar una idea, claro, para esto debes hacer un programita ¿¿no???,
es un método bastante "loco" pero da resultados!!!

con Windows XP, viene una aplicación llamada Net.exe, la cual te permite añadir usuarios, grupos etc... en la PC, sus commandos son mas o menos estos:

para añadir usuario... net.exe user /add "nombre de usuario" "password"
para eleiminar usuario... net.exe user /del "nombre de usuario"

-> por ejemplo: net.exe user /add AEFF lapasswordloca

ahora, para agregar este usuario o cualquier usuario a un grupo determinado, podemos hacerlo de la siguiente forma:

-> por ejemplo: net.exe localgroup /add Administradores AEFF

es decir, la estrucura del comando es la siguiente: net.exe localgroup /add "grupo" "usuario"

nota: cada vez que creas un usuario por defecto es miembro de "Usuarios" o restringido como gustes decirle, por eso te recomiendo que cada vez que añadas uno lo quites del grupo de "Usuarios" y lo coloques en el de los adminsitradores, si es que quieres que sea administrador:

-> por ejemplo, ya creado el usuario "AEFF" ¿ok?:
1- [b]net.exe localgroup /add Administradores AEFF [ /b] lo pongo administrador
2- net.exe localgroup /del Usuarios AEFF lo quito de usuarios <restringidos>

...

ahora, ya te explique como hacer para crear el usuario ... ahora viene la parte de hacerlo remotamente...

primero que todo, debes tener en la PC remota un programa que responda a tus órdenes, es decir, un programa que le mandes a crear el usuarios tu mismo cuado tu quieras y que le digas el Nombre del usuario, la password y el grupo:

para eso, haces dos aplicaciones, una Cliente y una Servidor, la Servidor estará en la PC remota y la Cliente es la que enviará los comandos a la Servidor.

Para este fin tienes en Delphi unos cuantos componentes, para la Servidor usas el TServerSocket de la paletta "Internet" y para la cliente el TClientSocket de esa misma paletta,

*explicarte como es que funcionan estos componentes ya es otra historia, te recomiendo que hagas otro hilo en el club...*

entonces, lo que harás con la aplicación Cliente enviarle a la Servidor una cadena que tendrá el nombre de usuario, la password y el grupo, y cuando la servidor reciva esta cadena, la desglosa, en una variable colocas el username, en otra la password y en otra el grupo, y lo que te queda es crearlo, para esto usas al aplicacion Net.exe, de la forma siguiente:

Código Delphi [-]
...
    uses ShellApi;
 ...

var
   vUserName, vPassword, vGrupo: string;
begin
  ... le asignas a las variables sus respectivos valores, y luego...
  ShellExecute(0, nil, 'Net.exe', PChar('user /add ' + vUserName + ' ' + vPassword), nil, SW_HIDE);  
  ShellExecute(0, nil, 'Net.exe', PChar('localgroup /add ' + vGrupo + ' ' + vUserName), nil, SW_HIDE);  
  ShellExecute(0, nil, 'Net.exe', PChar('localgroup /del Usuarios' + vUserName), nil, SW_HIDE);  
 ...


bueno, eso es casi todo el trabajo...

*** espero que te sirva al menos de idea igual que a mi, porque si no se ejecutan estos comandos en una session administradora no se añaden los usuarios *** asi que tienes que pillar al administrador y soltarle la aplicación Servidor en su sessión... bueno,

suerte!!

saludos!
Responder Con Cita
  #3  
Antiguo 28-01-2008
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
ahh!! para averiguar como es que funcionan los componentes "TServerSocket" y "TClientSocket" no es necesario crear otro hilo, has una búsqueda en el club que aqui hay información sobre ellos por cantidad...

saludos!
Responder Con Cita
  #4  
Antiguo 28-01-2008
trohan trohan is offline
Miembro
 
Registrado: abr 2007
Posts: 16
Poder: 0
trohan Va por buen camino
Para Aeff muchas gracias

AEFF te agradezco mucho tu extensa explicacion, realmente espero que me sirva, ya habia oido hablar de estos componentes TServerSocket y eso, pero guardaba la esperanza de que de alguna manera se pudiera hacer sin usar un cliente, ya que por ejemplo para hacerlo desde mi maquina uso el comando mmc. Pero bueno ya que no queda mas remedio tendre que hacerlo asi y con la explicacion que me has dado espero que pinche OK. Un saludo y gracias nuevamente.
Responder Con Cita
  #5  
Antiguo 29-01-2008
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Hola,
para hacer lo que dices, se puede utilizando la consola de tu propio equipo. Solo tienes que tener conectividad.
1.- Mapea una unidad al equipo en el que quieras crear el usuario.
2.- Con el boton derecho sobre mi pc, selecciona administrar. Se abre tu ventana de gestión de tu pc: usuarios, dispositivos, discos, recursos compartidos, ... También puedes elecutar directamente compmgmt.msc
3.- Selecciona el menu acción- conectar con otro equipo, y ya puedes hacer lo qe quieres. Lógicamente, hay ramas de la carpeta a las que no puedes acceder, pero para lo que quieres, te vale.

Suerte y saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #6  
Antiguo 29-01-2008
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
si!, y cuando intento añadir un nuevo usuario no tengo acceso, ¿por que sera?, por que no soy administrador de la PC en la que estoy sentado o porque la session que esta remotamente abierta en la otra PC no tiene privilegios?

alguien me puede decir?
Responder Con Cita
  #7  
Antiguo 29-01-2008
Avatar de aeff
aeff aeff is offline
Miembro
 
Registrado: oct 2006
Ubicación: Cuba, Guantánamo
Posts: 348
Poder: 18
aeff Va camino a la fama
otra pregunta colegas?
no se puede obtener estas informaciones a traves de un programa en Delphi, a traves de APIs o algo asi que me resuelva estas informaciones de la PC remota?

saludos!
Responder Con Cita
  #8  
Antiguo 29-01-2008
trohan trohan is offline
Miembro
 
Registrado: abr 2007
Posts: 16
Poder: 0
trohan Va por buen camino
Pal amigo

Claroamigo Fj, eso que hababa de mmc, era un ejemplo que daba para arumentar elporque imagine que quizas se pudiera obtener la nformacion de la maquina sin necesidad de tener que instalar un cliente manualmente maquina por maquina. De hecho el Dame ware no necesita que vaya maquina por maquina haciendolo, remotamente el copia los ficheros y en la pc cliente los ejecuta eso es lo que quisiera hacer, por eso tuve esperanza de hayar algo similar
Responder Con Cita
  #9  
Antiguo 30-01-2008
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Cita:
Empezado por aeff Ver Mensaje
si!, y cuando intento añadir un nuevo usuario no tengo acceso, ¿por que sera?, por que no soy administrador de la PC en la que estoy sentado o porque la session que esta remotamente abierta en la otra PC no tiene privilegios?

alguien me puede decir?
La respuesta es SI. Debes conectarte al pc al que le quieres añadir los usuarios con un usuario con el que tengas privilegios suficientes. Esto lo haces en la conexión de la unidad, donde puedes identificar el usuario
Ejemplo. Abres una sesión de comandos ( ejecutar cmd) y pones
net use * \\equiporemoto\c$ /user:equiporemoto\administrador
Te pedirá la clave del usuario local del equiporemoto indicado , y después, al abrir la consola, todo lo que hagas será con ese usuario.

Por otro lado, si quereis ejecutar aplicaciones, scripts , etc de manera remota, se puede utilizar las pstools. psexec permite ejecutar en equipos remotos cualquier archivo. Creo que lo que se quiere ejecutar debe estar en el equipo remoto, pero menos es nada. Nosotros usamos mucho psinfo, ya que ofrece desde tu propio puesto información de las caracteristicas del equipo como memoria, procesador, sistema operativo, sw instalado, ... Por otro lado, de este tipo de programas hay muchos.

Espero haberos ayudado.

Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #10  
Antiguo 30-01-2008
trohan trohan is offline
Miembro
 
Registrado: abr 2007
Posts: 16
Poder: 0
trohan Va por buen camino
Para fjcg

Amigo Fj, muchas gracias por el aporte que nos estas dando. Pero quisiera que me comentaras un ultimo detalle. En cuanto a lo ultimo que dijiste sobre ejecutar scripts, etc, remoto. Eso necesariamente necesita que se le diga el usuario con que se va a correr o serviria lo que yo intento hacer???, que ese usuario administrador que esta en todas las maquinas y que es con el que estoy logueado en la mia, sea tomado automaticamente por el programa(el que quiero hacer) como el usuario admin con el que quiero que corra la aplicacion cliente, sin necesidad de tener que especificarlo. NO se si me entiendes, lo que quiero hacer es que yo corra el programa en mi maquina y como el usuario(local o de dominio) mio es admin en todas las demas, la autentificacion quisiera que se hiciera con este, o lo que es igual Doble click en el programa y andando. Un saludo

Última edición por trohan fecha: 30-01-2008 a las 15:03:30. Razón: Ortografia y agregar algo
Responder Con Cita
  #11  
Antiguo 30-01-2008
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.410
Poder: 22
fjcg02 Va camino a la fama
Cita:
Usage: psexec [\\computer][-u user [-p psswd]][-s|-e][-i][-c [-f|-v]][-d][-<prio
rity>][-a n,n,...] cmd [arguments]
computer Direct PsExec to run the application on the remote
computer. If you omit the computer name PsExec runs
the application on the local system.
-u Specifies optional user name for login to remote
computer.
-p Specifies optional password for user name. If you omit this
you will be prompted to enter a hidden password.
-s Run the remote process in the System account.
-e Loads the specified account's profile.
-i Run the program so that it interacts with the desktop on the
remote system.
-c Copy the specified program to the remote system for
execution. If you omit this option the application
must be in the system path on the remote system.
-f Copy the specified program even if the file already
exists on the remote system.
-v Copy the specified file only if it has a higher version number
or is newer on than the one on the remote system.
-d Don't wait for process to terminate (non-interactive).
-priority Specifies -low, -belownormal, -abovenormal, -high or
-realtime to run the process at a different priority.
-a Separate processors on which the application can run with
commas where 1 is the lowest numbered CPU. For example,
to run the application on CPU 2 and CPU 4, enter:
"-a 2,4"
program Name of application to execute.
arguments Arguments to pass (note that file paths must be
absolute paths on the target system).

You can enclose applications that have spaces in their name with
quotation marks e.g. psexec \\marklap "c:\long name app.exe".
Input is only passed to the remote system when you press the enter
key, and typing Ctrl-C terminates the remote process.

If you omit a user name the process will run in the context of your
account on the remote system, but will not have access to network
resources (because it is impersonating). Specify a valid user name
in the Domain\User syntax if the remote process requires access
to network resources or to run in a different account. Note that
the password is transmitted in clear text to the remote system.

Error codes returned by PsExec are specific to the applications you
execute, not PsExec.
Para muestra un botón. Puedes ejecutarlo con el usuario con el que estás conectado ( por ejemplo el administrador del dominio ) o con uno que especifiques ( parametro -u).

Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #12  
Antiguo 31-01-2008
trohan trohan is offline
Miembro
 
Registrado: abr 2007
Posts: 16
Poder: 0
trohan Va por buen camino
Ah y otra cosa

Ademas tambien quisiera que fuera el codigo como tal para hacer esto y no un progrma ya hecho, ya que mi interes es hacer uno similar. Ojala y alla alguna forma
Responder Con Cita
  #13  
Antiguo 31-01-2008
trohan trohan is offline
Miembro
 
Registrado: abr 2007
Posts: 16
Poder: 0
trohan Va por buen camino
Ah y otra cosa

Ademas tambien quisiera que fuera el codigo como tal para hacer esto y no un progrma ya hecho, ya que mi interes es hacer uno similar. Ojala y alla alguna forma de acceder a esto.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cual es la Mejor forma de Agregar,Modificar y Eliminar en ADO ? LENOCB Varios 50 07-01-2008 04:04:47
agregar y/o eliminar items de un listbox a partir de otro listbox Goyo PHP 2 27-09-2007 16:46:30
Agregar Uses desde Templates Delphi 2006 xander Varios 0 13-04-2007 07:59:46
agregar a un outline desde una base de datos Debian Conexión con bases de datos 0 30-03-2005 19:49:36
Como agregar una banda en tiempo de ejecucion en otra pagina edo Impresión 2 29-07-2003 01:07:12


La franja horaria es GMT +2. Ahora son las 05:57:28.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi