Accès aux fichiers distants sous Windows

Le
tukutt
Bonjour,

Je suis en train de développez un petit script perl qui doit me
permettre de savoir si un fichier existe ou non sur une machine
distante (j'ai beaucoup de machine à vérifier).

Je suis sous Windows XP (travail oblige) et les machines à tester le
sont aussi. Actuellement je connais le nom des machines distantes (
ORD1, \ORD2, ). Pour accéder au répertoire d'une machine distante
"en mode graphique", je lance l'explorateur et je tape \ORD1c$ puis
j'entre le login et mot de passe administrateur et j'ai accès au
répertoire c: .

J'aimerai faire la même opération avec perl. Je n'ai absolument aucune
idée de comment me connecter à une machine distante

Si quelqu'un à une idée ?

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
giganet
Le #6723581
Bonjour,

Je suis en train de développez un petit script perl qui doit me
permettre de savoir si un fichier existe ou non sur une machine
distante (j'ai beaucoup de machine à vérifier).

Je suis sous Windows XP (travail oblige) et les machines à tester le
sont aussi.


Quelle horreur ;)

Actuellement je connais le nom des machines distantes (
ORD1, \ORD2, ...). Pour accéder au répertoire d'une machine distante
"en mode graphique", je lance l'explorateur et je tape \ORD1c$ puis
j'entre le login et mot de passe administrateur et j'ai accès au
répertoire c: .

J'aimerai faire la même opération avec perl. Je n'ai absolument aucune
idée de comment me connecter à une machine distante...

Si quelqu'un à une idée ?


my $filename = '//ORD1/fichier';
open (FILETEST, "<$filename" ) or die "Impossible d'ouvrir le fichier";

Tout simplement.


Merci



giganet
Le #6723571

Si quelqu'un à une idée ?

Merci



Sinon y a File::Remote

Paul Gaborit
Le #6723891
À (at) Wed, 28 May 2008 13:46:59 +0200,
giganet

Si quelqu'un à une idée ?

Merci



Sinon y a File::Remote


Heu... ?

Extrait de la doc de File::Remote :

« ... File::Remote only works on UNIX systems ... »

Vu que ça utilise scp/ssh (ou, quelle horreur, rcp/rsh), c'est pas
prêt de fonctionner sous Windows.

Sans garantie aucune (je n'ai jamais essayé ce module), je proposerai
le module Win32::FileOp et sa méthode 'Map'.

--
Paul Gaborit - Perl en français -

jl_morel
Le #6723881
Dans l'article <90a284b1-7fe4-4560-ad7a-
, a dit...

Je suis en train de développez un petit script perl qui doit me
permettre de savoir si un fichier existe ou non sur une machine
distante (j'ai beaucoup de machine à vérifier).

Je suis sous Windows XP (travail oblige) et les machines à tester le
sont aussi. Actuellement je connais le nom des machines distantes (
ORD1, \ORD2, ...). Pour accéder au répertoire d'une machine distante
"en mode graphique", je lance l'explorateur et je tape \ORD1c$ puis
j'entre le login et mot de passe administrateur et j'ai accès au
répertoire c: .

J'aimerai faire la même opération avec perl. Je n'ai absolument aucune
idée de comment me connecter à une machine distante...



On peut utiliser le module Win32::NetResource.
Voir la doc (elliptique) :
http://cpan.uwinnipeg.ca/htdocs/Win32-NetResource/Win32/NetResource.html

Exemple :

#!/usr/bin/perl
use strict;
use warnings;
use Win32::NetResource;

my %NR = (
Scope => RESOURCE_CONNECTED,
Type => RESOURCETYPE_DISK,
DisplayType => RESOURCEDISPLAYTYPE_SHARE,
Usage => RESOURCEUSAGE_CONNECTABLE,
LocalName => "X:", # nom local de la ressource
RemoteName => "\\ORD1\c$" # la ressource distante
);
my $User = "Admin";
my $PassWord = "secret";

Win32::NetResource::AddConnection( %NR, $PassWord, $User, 1 )
or die Win32::FormatMessage(Win32::GetLastError);

# ici on peut utiliser X: pour accéder à la ressource distante

Win32::NetResource::CancelConnection( "X:", 1, 1 );

__END__

HTH

--
J-L.M.
http://www.bribes.org/perl

tukutt
Le #6727941
Bonjour,

J'ai laissé un message hier soir mais il n'est c'est perdu j'ai
l'impression...

Merci pour le module Win32::NetRessource c'est exactement ce que je
cherchais. J'avais vu ce paquet mais je pensais qu'il permettait
seulement de créer des répertoires partagés.

Merci à tous pour vos réponses si rapide et bonne Journées Perl 2008.


@ Paul Gaborit : Au plaisir de vous revoir à ISIS.
Publicité
Poster une réponse
Anonyme