| |||
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. |
| |||
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 |
| |||
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 |
| |||
Cita: Buff... No.
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 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. :) |
| |||
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 |
| |||
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. |
| |||
Cita: Hijo, esa no es manera de hacerlo. Son chapuzas.
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. |