Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Buscar maquina remota

Estas en el tema de Buscar maquina remota en el foro de Visual Basic clásico en Foros del Web. Saludos, estoy desarrollando una aplicación que lanza un proceso. Entre otros, los parámetros que admite es la ubicación donde se quiere lanzar este proceso, y ...
  #1 (permalink)  
Antiguo 29/04/2005, 05:28
 
Fecha de Ingreso: abril-2005
Mensajes: 35
Antigüedad: 19 años
Puntos: 0
Buscar maquina remota

Saludos, estoy desarrollando una aplicación que lanza un proceso. Entre otros, los parámetros que admite es la ubicación donde se quiere lanzar este proceso, y si es en una máquina remota. En cuanto al lanzamiento del proceso en una máquina local bajo entorno windows es bastante sencillo, pero en el caso de lanzarlo en una máquina remota me gustaría porder comprobar si esa máquina existe y si el directorio alternativo de ejecución existe. El problema se complica un poco, ya que la máquina remota no tiene por qué trabajar en windows, sino que en mi caso particular tiene como sistema operativo linux. Para lanzar el proceso utilizo la instrucción remota rsh y me apoyo en la existencia de un archivo .rhosts pero todo esto tiene la pega de que no puedo comprobar fuera de la consola si el proceso se ha ejecutado con éxito y si no lo ha hecho las razones. Es por esto que antes de lanzar el proceso me gustaría comprobar si existe dicha máquina y si existe la dirección alternativa en dicha máquina. Para acabar tambien me gustaría comprobar si tengo los permisos adecuados en el archivo .rhosts de dicha máquina (para lo que necesitaria saber el nombre de mi máquina y el del usuario que corre la sesión). Si pudiera alguien ayudarme en alguno de los aspectos anteriores se lo agradecería mucho.
  #2 (permalink)  
Antiguo 29/04/2005, 06:11
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Intenta resumir qué necesitas.
  #3 (permalink)  
Antiguo 29/04/2005, 06:52
 
Fecha de Ingreso: abril-2005
Mensajes: 35
Antigüedad: 19 años
Puntos: 0
Dos de las dudas que tenia ya las he resuelto con la funcion environ y gracias a las variables de entorno definidas por windows. Las dudas que me quedan son como saber si existe conexion desde mi maquina a otra llamada "\\maquina", la cual puede tener sistema operativo Windows o linux y si existe un directorio en esta (el cual va a venir expresado en Windows "C:\Directorio" o en Linux "/Directorio"

Muchas Gracias por tu atencion
  #4 (permalink)  
Antiguo 29/04/2005, 06:57
 
Fecha de Ingreso: abril-2005
Mensajes: 35
Antigüedad: 19 años
Puntos: 0
Se me ha olvidado incluir en el mensaje anterior si podrias echarme una mano con otra consulta de control de consola de comandos, he podido apreciar por las contestaciones que das en el foro tu dominio de la api de windows y a lo mejor tu sabes donde estoy metiendo la pata. El tema es Controlar la Consola de comandos dedse VB6
  #5 (permalink)  
Antiguo 29/04/2005, 07:46
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por NASTRAN&PATRAN
Dos de las dudas que tenia ya las he resuelto con la funcion environ y gracias a las variables de entorno definidas por windows. Las dudas que me quedan son como saber si existe conexion desde mi maquina a otra llamada "\\maquina", la cual puede tener sistema operativo Windows o linux y si existe un directorio en esta (el cual va a venir expresado en Windows "C:\Directorio" o en Linux "/Directorio"

Muchas Gracias por tu atencion
Buff... No.

En linux no es /Directorio, tienes que incluir la ruta del disco duro donde esté ubicado, por ejemplo hdc0 "hard disk c partición 0", y no tienen porqué coincidir las letras.

Sobre si hay conexión... Pues tú la haces y miras lo que ha devuelto la función de conectar.

Y lo de saber cosas de otra máquina... ¡Eso es imposible! Sea Windows o lo que sea. Tienes que hacer otro programa (servidor) en las máquinas remotas para poder controlarlas. Un SO no te da permisos así como así. Aunque para hacer eso deberás hacerlo en C. :)
  #6 (permalink)  
Antiguo 29/04/2005, 10:06
 
Fecha de Ingreso: abril-2005
Mensajes: 35
Antigüedad: 19 años
Puntos: 0
Buscar maquina en mi dominio

A lo mejor si te expongo ampliamente el tema se te ocurre alguna solución. No es algo tan complejo como lo que seguramente has interpretado. Siento haber sido poco conciso.

Mi dominio lo componen una serie de PC's y servidores, algunos de los cuales trabajan con un sistema operativo linux. Yo en esa red puedo navegar por los pc's y las estaciones de trabajo con el explorer.

Ejemplo: si quiero comprobar que existe una máquina llamada XXX, lo que hago en la consola es lanzar el siguiente comando:

explorer \\XXX

si es un pc, abre el explorador con una única carpeta llamada printers, ya que no tengo permiso de acceso al resto (no hay carpetas compartidas)

si es un servidor me muestra además otras carpetas a las cuales puedo acceder por estar habilitado.

Si quiero saber si existe una dirección concreta lo que hago es (con un path absoluto de dicha aplicacion):

\\XXX\C$\Directorio (suponiendo que se encuentre en la unidad C) para OSWs

\\XXX\root\directorio para Unix

Lo que pretendo es repetir estas instrucciones desde mi programa VB6 sin necesidad del interfaz grafico que supone el explorer (y sin el engorro de no poder cazar los errores asociados que son los que indican si existe la maquina, el directorio, un archivo y si además tengo acceso).

Se te ocurre alguna manera de usar un objeto similar al explorer desde codigo?

Muchas gracias por tu tiempo
  #7 (permalink)  
Antiguo 29/04/2005, 10:17
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Pues eso lo puedes hacer consultando normal y corrientemente una dirección.

FileListBox.Path = "\\127.0.0.1\C$\"

Eso me visualiza correctamente los archivos (también puedes ver los directorios, por ejemplo con un DirListBox) de esa dirección (la mía) y el disco C. Por lo tanto, debería funcionar. Si el sistema Unix te muestra una carpeta llamada "root" para que puedas acceder a su raíz, debería funcionar también.
  #8 (permalink)  
Antiguo 29/04/2005, 23:27
Avatar de VisualGuallabo  
Fecha de Ingreso: marzo-2005
Mensajes: 288
Antigüedad: 19 años, 1 mes
Puntos: 2
Cita:
Iniciado por NASTRAN&PATRAN
si podrias echarme una mano con otra consulta de control de consola de comandos, he podido apreciar por las contestaciones que das en el foro tu dominio de la api de windows y a lo mejor tu sabes donde estoy metiendo la pata. El tema es Controlar la Consola de comandos dedse VB6
Socio solo tienes que mandar a ejecutar los comandos del Dos y al final de la linea de comando pones >(Direccion de un archivo donde se guardara la información debuelta por el comando)

Ejemplo:
Ponemos en la consola del dos:
Net View>c:\PCLIST.TXT

y en ese fichero se mostrara toda la información.

luego solo tienes que recuperar la información guardada en el fichero.

-Si no sabes ejecutar comandos del dos desde Vb o recuperar la información
guardada en el fichero buelbe a preguntar para remponderte.
__________________
"No hay lenguaje de programación potente que sea inferior a otro semejante cuando existe un buen programador que lo defiende"

Yosvanis Cruz Alias VisualGuallabo
Ycruz
  #9 (permalink)  
Antiguo 30/04/2005, 03:22
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Cita:
Iniciado por VisualGuallabo
Socio solo tienes que mandar a ejecutar los comandos del Dos y al final de la linea de comando pones >(Direccion de un archivo donde se guardara la información debuelta por el comando)

Ejemplo:
Ponemos en la consola del dos:
Net View>c:\PCLIST.TXT

y en ese fichero se mostrara toda la información.

luego solo tienes que recuperar la información guardada en el fichero.

-Si no sabes ejecutar comandos del dos desde Vb o recuperar la información
guardada en el fichero buelbe a preguntar para remponderte.
Hijo, esa no es manera de hacerlo. Son chapuzas.
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 21:00.