je suis une grande d=E9butante concernant perl et je ne comprends pas
pourquoi le net use initi=E9e par ces lignes me demande le mot de passe
du compte alors que la m=EAme sous script dos ne le fait pas :/
comme le compte et le passe utilis=E9 sont les m=EAmes sur la source et
la cible, cela ne devrait pas arriver.
Auriez-vous une id=E9e sur la question ?
sleep 2;
system "net use \\\\$_server\\$_sharename" || print FICLOG "$date
ERROR: Montage du share \\\\$_server\\$_sharename\n";
sleep 2;
}
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Paul Gaborit
À (at) 26 Jan 2007 08:55:45 -0800, écrivait (wrote):
je suis une grande débutante concernant perl et je ne comprends pas pourquoi le net use initiée par ces lignes me demande le mot de passe du compte alors que la même sous script dos ne le fait pas :/ comme le compte et le passe utilisé sont les mêmes sur la source et la cible, cela ne devrait pas arriver.
Auriez-vous une idée sur la question ?
sleep 2; system "net use \$_server$_sharename" || print FICLOG "$date ERROR: Montage du share \$_server$_sharenamen"; sleep 2; }
Je ne suis pas un spécialiste de 'net use...' (sous Windows, j'imagine) mais il peut y avoir plusieurs explications...
Êtes-vous sûr que les variables Perl $_server et $_sharename contiennent bien les bonnes valeurs ? (En général, on évite les noms de variables commençant par un _ sauf si on a vraiment de très bonnes raisons). Les valeurs de ces variables contiennent-elles des espaces ?
Quel est le symptôme ? Le mot de passe est demandé et si vous le donnez tout marche comme il faut ?
Déjà, il vaut mieux ne pas utiliser 'system' en lui passant une simple chaîne contenant la commande et ses arguments mais plutôt en lui passant une liste (commande, @arguments). Ici, ça donnerait :
system('net', 'use', "\$_server$_sharename") ...
Cela évite un éventuel passage par un shell (lequel sous Windows?) qui est toujours source d'ennui.
Après, on n'aime rarement les à répétition. La plupart du temps, Windows accepte depuis longtemps l'usage du / à la place des . Vous pouvez donc aussi essayer cela :
Si tout cela ne donne rien, il faut s'interroger sur l'identité de celui qui exécute le script Perl. Est-ce bien la même que celle utilisée par le script DOS. Il faut aussi vérifier les variables d'environnement (mais je ne sais si elles ont une influence sur le 'net use...').
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) 26 Jan 2007 08:55:45 -0800,
canto@yahooka.com écrivait (wrote):
je suis une grande débutante concernant perl et je ne comprends pas
pourquoi le net use initiée par ces lignes me demande le mot de passe
du compte alors que la même sous script dos ne le fait pas :/
comme le compte et le passe utilisé sont les mêmes sur la source et
la cible, cela ne devrait pas arriver.
Auriez-vous une idée sur la question ?
sleep 2;
system "net use \\$_server\$_sharename" || print FICLOG "$date
ERROR: Montage du share \\$_server\$_sharenamen";
sleep 2;
}
Je ne suis pas un spécialiste de 'net use...' (sous Windows,
j'imagine) mais il peut y avoir plusieurs explications...
Êtes-vous sûr que les variables Perl $_server et $_sharename
contiennent bien les bonnes valeurs ? (En général, on évite les noms
de variables commençant par un _ sauf si on a vraiment de très bonnes
raisons). Les valeurs de ces variables contiennent-elles des espaces ?
Quel est le symptôme ? Le mot de passe est demandé et si vous le
donnez tout marche comme il faut ?
Déjà, il vaut mieux ne pas utiliser 'system' en lui passant une simple
chaîne contenant la commande et ses arguments mais plutôt en lui
passant une liste (commande, @arguments). Ici, ça donnerait :
Cela évite un éventuel passage par un shell (lequel sous Windows?) qui
est toujours source d'ennui.
Après, on n'aime rarement les à répétition. La plupart du temps,
Windows accepte depuis longtemps l'usage du / à la place des . Vous
pouvez donc aussi essayer cela :
Si tout cela ne donne rien, il faut s'interroger sur l'identité de
celui qui exécute le script Perl. Est-ce bien la même que celle
utilisée par le script DOS. Il faut aussi vérifier les variables
d'environnement (mais je ne sais si elles ont une influence sur le
'net use...').
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) 26 Jan 2007 08:55:45 -0800, écrivait (wrote):
je suis une grande débutante concernant perl et je ne comprends pas pourquoi le net use initiée par ces lignes me demande le mot de passe du compte alors que la même sous script dos ne le fait pas :/ comme le compte et le passe utilisé sont les mêmes sur la source et la cible, cela ne devrait pas arriver.
Auriez-vous une idée sur la question ?
sleep 2; system "net use \$_server$_sharename" || print FICLOG "$date ERROR: Montage du share \$_server$_sharenamen"; sleep 2; }
Je ne suis pas un spécialiste de 'net use...' (sous Windows, j'imagine) mais il peut y avoir plusieurs explications...
Êtes-vous sûr que les variables Perl $_server et $_sharename contiennent bien les bonnes valeurs ? (En général, on évite les noms de variables commençant par un _ sauf si on a vraiment de très bonnes raisons). Les valeurs de ces variables contiennent-elles des espaces ?
Quel est le symptôme ? Le mot de passe est demandé et si vous le donnez tout marche comme il faut ?
Déjà, il vaut mieux ne pas utiliser 'system' en lui passant une simple chaîne contenant la commande et ses arguments mais plutôt en lui passant une liste (commande, @arguments). Ici, ça donnerait :
system('net', 'use', "\$_server$_sharename") ...
Cela évite un éventuel passage par un shell (lequel sous Windows?) qui est toujours source d'ennui.
Après, on n'aime rarement les à répétition. La plupart du temps, Windows accepte depuis longtemps l'usage du / à la place des . Vous pouvez donc aussi essayer cela :
Si tout cela ne donne rien, il faut s'interroger sur l'identité de celui qui exécute le script Perl. Est-ce bien la même que celle utilisée par le script DOS. Il faut aussi vérifier les variables d'environnement (mais je ne sais si elles ont une influence sur le 'net use...').
-- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>