Foros del Web » Programando para Internet » ASP Clásico »

Ejecutar un archivo VBS dentro de una ASP

Estas en el tema de Ejecutar un archivo VBS dentro de una ASP en el foro de ASP Clásico en Foros del Web. Tengo un archivo .VBS que me regresa ciertos parámetros cuando lo ejecuto con doble click desde sistema operativo. Lo que quiero es mandarlo llamar desde ...
  #1 (permalink)  
Antiguo 28/11/2002, 10:50
 
Fecha de Ingreso: noviembre-2002
Ubicación: Casa-Trabajo
Mensajes: 60
Antigüedad: 22 años, 5 meses
Puntos: 0
Ejecutar un archivo VBS dentro de una ASP

Tengo un archivo .VBS que me regresa ciertos parámetros cuando lo ejecuto con doble click desde sistema operativo.

Lo que quiero es mandarlo llamar desde una ASP y recibir esos parámetros para ponerlos en una BD.

Maestros me podrían decir si se puede hacer esto y qué secuencia puedo utilizar?

Saludos
  #2 (permalink)  
Antiguo 29/11/2002, 10:18
 
Fecha de Ingreso: noviembre-2002
Ubicación: Casa-Trabajo
Mensajes: 60
Antigüedad: 22 años, 5 meses
Puntos: 0
Pregunta No se rindan, yo se que saben como hacerlo

Este código lo tengo en un archivo llamado GETUSER.VBS:

Set W = WScript.CreateObject("WScript.Network")
Dim S
S = "Domain:" + vbTab + vbTab
S = S + W.UserDomain
S = S + vbCr + "Computer:"
S = S + vbTab + W.ComputerName
S = S + vbCr + "User name:"
S = S + vbTab + W.UserName
WScript.Echo S

Lo ejecuto con dos clicks desde sistema operativo y me regresa:
Computer, Domain y User Name.

Lo que quiero es ejecutarlo desde una ASP y tomar esos datos para ponerlos en una BD, así dentro una Intranet puedo saber quién votó en una encuesta o quién accesó a determinada aplicación. Ya se obtener la IP pero no es suficiente.

Saludos
  #3 (permalink)  
Antiguo 29/11/2002, 10:34
 
Fecha de Ingreso: febrero-2002
Ubicación: Mi ASP Bunker
Mensajes: 397
Antigüedad: 23 años, 2 meses
Puntos: 1
Puedes conseguir esos datos y mas, sin usar el objeto WScript.

Prueba este codigo en alguna server_vars.asp y extrae las variables que necesites.

<TABLE>
<TR><TD><B>Server Variable</B></TD><TD><B>Value</B></TD></TR>
<% For Each name In Request.ServerVariables %>
<TR><TD> <%= name %> </TD><TD> <%= Request.ServerVariables(name) %> </TD></TR>
<% Next %>
</TABLE>

Saludos !
  #4 (permalink)  
Antiguo 29/11/2002, 10:43
 
Fecha de Ingreso: noviembre-2002
Ubicación: Casa-Trabajo
Mensajes: 60
Antigüedad: 22 años, 5 meses
Puntos: 0
Request.ServerVariables no es suficiente

Gracias Nochero, ya había probado esa opción y debido a que no me regresa los datos que quiero me puse a buscar por Internet y encontré el archivo en VBS.

Básicamente quiero saber nombres, ya sea del equipo en la red o del usuario sin que este tenga que hacer login.

Saludos
  #5 (permalink)  
Antiguo 29/11/2002, 10:51
 
Fecha de Ingreso: febrero-2002
Ubicación: Mi ASP Bunker
Mensajes: 397
Antigüedad: 23 años, 2 meses
Puntos: 1
Proba entonces asi, pasando de VBS a ASP :

:: GETUSER.ASP :: ojo! debe ser . ASP

<%
Dim S
Dim W

Set W = WScript.CreateObject("WScript.Network")
S = "Domain:" + vbTab + vbTab
S = S + W.UserDomain
S = S + vbCr + "Computer:"
S = S + vbTab + W.ComputerName
S = S + vbCr + "User name:"
S = S + vbTab + W.UserName
Set WScript = Nothing

Response.Write S
%>

a ver si asi te sirve, saludos !
  #6 (permalink)  
Antiguo 29/11/2002, 11:00
 
Fecha de Ingreso: noviembre-2002
Ubicación: Casa-Trabajo
Mensajes: 60
Antigüedad: 22 años, 5 meses
Puntos: 0
Me mandar el siguiente error...

Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: 'WScript'
/atw/encuesta/GetUser.asp, line 5

No se mucho de VB y no logro saber cuál es el problema.

Cómo ves?
  #7 (permalink)  
Antiguo 29/11/2002, 11:07
 
Fecha de Ingreso: febrero-2002
Ubicación: Mi ASP Bunker
Mensajes: 397
Antigüedad: 23 años, 2 meses
Puntos: 1
Perdon , es :

Set W = Server.CreateObject("WScript.Network")

sino anduviera prueba :

Set W = Server.CreateObject("Wscript.WshNetwork")

me cuentas..
  #8 (permalink)  
Antiguo 29/11/2002, 12:01
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mex
Mensajes: 140
Antigüedad: 22 años, 5 meses
Puntos: 0
No es posible

Mira, lo que tratas de hacer es un codigo troyano. Si necesitas hacer eso(que lo dudo) ponlo en una forma y que la llenen voluntariamente tus usuarios. Otra opcion es hacer un verdadero Worm con VBS por medio de WSH el cual lea los datos que necsitas en el ambiente de red local para posteriormente ejecutar con sheel de WSH una direccion URL dirigido a un asp donde le pases los parametros de los datos obtenidos.El usuario lo que verá es una nueva ventana de explorer que se abrira sin razon aparente alguna.

Es simple realmente pero un tanto peligroso para tus usuarios.
  #9 (permalink)  
Antiguo 29/11/2002, 12:33
 
Fecha de Ingreso: noviembre-2002
Ubicación: Casa-Trabajo
Mensajes: 60
Antigüedad: 22 años, 5 meses
Puntos: 0
Pregunta Corrió pero...

Corrió con la instrucción:

Set W = Server.CreateObject("WScript.Network")

pero el resultado no fue el esperado

Domain:
Computer: W3DESARROLLO
User name: IUSR_W3DESARROLLO

En computer me está dando el nombre del servidor y en username un usuario del servidor, pero no dice cual.

Posiblemente sea porque está corriendo en el servidor y cuando el VBS corre en el cliente si sabe los nombres o algo así.

Cómo ves?

Saludos
  #10 (permalink)  
Antiguo 29/11/2002, 12:42
 
Fecha de Ingreso: noviembre-2002
Ubicación: Casa-Trabajo
Mensajes: 60
Antigüedad: 22 años, 5 meses
Puntos: 0
Efra, eso que comentas no es el objetivo

... si conoces alguna otra forma de obtener en una Intranet el nombre de red del equipo que está votando en una encuesta te voy a agradecer que me digas.

El problema es que ya tengo la IP, incluso ya la estoy almacenendo en la BD, pero mis jefes quieren saber más sobre quién vota en una encuesta.

Te imaginas si les pido a mis usuarios que hagan login solo para votar...

Saludos :-0
  #11 (permalink)  
Antiguo 29/11/2002, 12:42
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mex
Mensajes: 140
Antigüedad: 22 años, 5 meses
Puntos: 0
no puede ser....

Has de saber entonces que VBscript por si mismo no esta capacitado para mantener una conexion abierta de cliente a web server....

Cosas veredes
  #12 (permalink)  
Antiguo 29/11/2002, 13:26
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mercedes
Mensajes: 92
Antigüedad: 23 años, 4 meses
Puntos: 0
Me parece que le estás errando y te digo por que, cualquier script tipo vbs o exe o cualquier llamda que hagas, se va ejecutar en el servidor siempre, te va a devolver nombre del serv, ip del servidor etc.
Si el dato que necesitas que recoja el asp es el nombre de usuario y el dominio, se hace de otra forma:

primero tienes que configurar el IIS para que tome la contraseña autenticada del windows y luego pones este codigo para recuperar el login y el dominio:


Login = Request.ServerVariables("LOGON_USER")
L=Len(Login)
LL=InStr(Login, "\")
StringLen=L-LL
User = (Right(Login, StringLen))


tambien puedes recuperar el password.
Saludos

Andrés.-
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:47.