Problèmes multiples avec runas (via xrunas.vbs)

Le
ROGEON Eric
Avé ;o)

L'année dernière, j'ai créé un script VBS qui permet aux utilisateurs du
réseau de créer automatiquement un dossier d'affaire (sur le serveur) à
partir d'un dossier modèle (contenant des sous-dossiers et des
fichiers).
Ce script utilise la commande ROBOCOPY via un SHELL.RUN. La commande
exacte est la suivante :

début de l'extrait
s = SCRIPTCHEMIN & "obocopy.exe ""Dossier-modèle"" """ & CHEMINAFFAIRE
& "" & AFFAIREN &""" /E /SEC"
r = shell.Run(s,1,TRUE)
fin de l'extrait

Jusqu'alors, le script fonctionnait à merveille, mais pour des raisons
de sécurité, j'ai dû modifier les permissions sur les dits dossiers.
J'ai pour cela créé un profil spécifique (non administrateur mais ayant
les droits complets sur ce dossier) dans l'AD et j'ai ensuite complété
le script de la manière suivante :

début de l'extrait
s = SCRIPTCHEMIN & "obocopy.exe ""Dossier-modèle"" """ & CHEMINAFFAIRE
& "" & AFFAIREN &""" /E /SEC"
s = SCRIPTCHEMIN & "xrunas.vbs /user:toto@domaine.fr /pwd:toto " & s
r = shell.Run(s,1,TRUE)
fin de l'extrait

Quand je lance le script, celui-ci ne met aucun message d'erreur mais le
nouveau dossier n'est pas créé !
Peut-être y a t'il un message d'erreur, mais je n'ai pas le temps de le
lire car la console se ferme aussitôt.

J'ai essayé de taper la commande manuellement dans une console :

début commande saisie
xrunas.vbs /user:toto@domaine.fr /pwd:toto robocopy.exe "Dossier-modèle"
"K:affairesom du nouveau dossier avec des espaces" /E /SEC
fin commande saisie

mais là aussi, une autre console s'ouvre et se referme aussitôt sans
que j'ai le temps de lire ce qu'il y a dedans.

J'ai ensuite essayé de taper la commande manuellement mais directement
avec RUNAS sans passer par XRUNAS :

début commande saisie
runas /user:toto@domaine.fr robocopy.exe "Dossier-modèle"
"K:affairesom du nouveau dossier avec des espaces" /E /SEC
fin commande saisie

là, il m'affiche le message d'aide de la commande. Il ne me demande même
pas le mot de passe !?

J'ai ensuite essayé la commande sans les arguments :

début commande saisie
runas /user:toto@domaine.fr robocopy.exe
fin commande saisie

là, il me demande bien le mot de passe, mais ensuite, j'ai le message
suivant :

début du message
Erreur de RUNAS : Impossible d'exécuter - robocopy.exe
3 : Le chemin d'accès spécifié est introuvable.
fin du message

Si je relance la commande en spécifiant le chemin réseau :

début commande saisie
runas /user:toto@domaine.fr \serveurdossieraffairesobocopy.exe
fin commande saisie

Le programme se lance bien !?

Je précise que les chemins peuvent parfois être de la forme
"K:affaires" et parfois "\Serveurdossieraffaires" suivant que
l'utilisateur possède ou pas un lecteur réseau.
Il semblerait que la fonction "runas" ne supporte pas les lecteurs
réseaux ?

Par contre, je me suis aperçu que xrunas à créé un fichier SETSCRIPT.BAT
et que dans celui-ci, les arguments avait perdus leurs guillemets. Je ne
suis pas parvenu à régler ce problème sachant que les 2 commandes
imbriquées (ROBOCOPY et XRUNAS) ont toutes les deux des paramètres.
J'ai essayé avec et sans le lecteur réseau, et cela donne cela :

début SETSCRIPT.BAT avec
@echo off
cscript //H:CScript //S /Nologo
"k:affairesxrunas.vbs" /user:toto@domaine.fr /pwd:toto
K:Affairesobocopy.exe Dossier-modèle K:Affairesom du nouveau
dossier avec des espaces /E /SEC

fin SETSCRIPT.BAT avec

début SETSCRIPT.BAT sans
@echo off
cscript //H:CScript //S /Nologo
"\serveurdossieraffairesxrunas.vbs" /user:toto@domaine.fr /pwd:toto
\ServeurdossierAffairesobocopy.exe Dossier-modèle
\ServeurdossierAffairesom du nouveau dossier avec des espaces /E
/SEC

fin SETSCRIPT.BAT sans

On aperçoit bien que tous les guillemets on disparus !

En conclusion, il semblerait que j'ai 2 problèmes à régler :
1-Mettre des chemins sans lettre de lecteur dans la ligne de commande
finale
2-Régler ce problème de guillemet qui disparaissent

Pourriez-vous me confirmer le point 1 et m'aider pour le point 2 s'il
vous plait car là je n'avance plus. :o(

Config : 1 Serveur W2k qui fait tout (domaine AD, TS, fichiers) avec
postes clients W2k, XP et peut-être un jour VISTA

D'avance merci et désolé pour la longueur du message ;o)

--
Eric R.
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
MCI \(ex do ré Mi chel la si do\) [MVP]
Le #1326733
Bonsoir !

Tu es le candidat idéal, pour tester mon utilitaire runlike.exe
Il est dispo là :
http://www.mclaveau.com/batch/util.html#314

Un retour de test, pour me dire si ça a marché, serait le bienvenu.
Merci d'avance.

@-salutations
--
Michel Claveau
MCI \(ex do ré Mi chel la si do\) [MVP]
Le #1330744
Re !

Comme par hasard, MarkRussinovitch (Microsoft, ex-Sysinternals) vient de
dégainer son "ShellRunAs.exe".
Voir : http://technet.microsoft.com/en-us/sysinternals/cc300361.aspx

@-salutations
--
Michel Claveau
ROGEON Eric
Le #1465983
"MCI (ex do ré Mi chel la si do) [MVP]"

Bonsoir !

Tu es le candidat idéal, pour tester mon utilitaire runlike.exe
Il est dispo là :
http://www.mclaveau.com/batch/util.html#314

Un retour de test, pour me dire si ça a marché, serait le bienvenu.
Merci d'avance.

@-salutations
--
Michel Claveau



Avé ;o)


J'ai testé ton programme sans succès!?...

Lors du lancement, j'ai le message d'erreur suivant :

---Début---
AutoIt Error
Line -1:
Error: Unable to execute the external program.
Echec d'ouverture de session : nom d'utilisateur inconu ou mot de passe
incorrect.
---Fin---

J'ai donc ensuite essayé sans nom d'utilisateur et j'ai le même message
sauf qu'à la place de la dernière ligne, il y a texte illisible.
Je précise qu'il s'agit d'un profil du domaine et non d'un profil local.

Pourriez-vous répondre a mes questions s'il vous plaît ?
Merci
--
Eric R.

ROGEON Eric
Le #1465982
Avé ;o)

A partir d'une console, j'ai lancé la commande (positionné sur
K:affaires):

runas /user: \serveurdosieraffairesmonscript.vbs

Il me damnde bien le mot de passe mais j'ai le message d'erreur suivant
en retour :

193 : \serveurdossieraffairesmonscript.vbs n'est pas une application
Win32 valide.

Il s'agit peut-être d'un 3ème problème !?...

Ce qui est bizare, c'est que si je tappe directement "monscript.vbs", il
se lance correctement.

A+
ROGEON Eric
Le #1581726
"ROGEON Eric" <info-Aentouré-boutillet-paslavirgule-fr> a écrit dans le
message de news:
Avé ;o)

A partir d'une console, j'ai lancé la commande (positionné sur
K:affaires):

runas /user: \serveurdosieraffairesmonscript.vbs

Il me damnde bien le mot de passe mais j'ai le message d'erreur
suivant en retour :

193 : \serveurdossieraffairesmonscript.vbs n'est pas une
application Win32 valide.

Il s'agit peut-être d'un 3ème problème !?...

Ce qui est bizare, c'est que si je tappe directement "monscript.vbs",
il se lance correctement.

A+

Avé ;o)


Je me répond à moi même, il fallait écrire :

runas /user: "wscript
\serveurdosieraffairesmonscript.vbs"

avec les guillemets pour corriger ce problème.

ROGEON Eric
Le #1581725
"ROGEON Eric" <info-Aentouré-boutillet-paslavirgule-fr> a écrit dans le
message de news:
Avé ;o)

L'année dernière, j'ai créé un script VBS qui permet aux utilisateurs
du réseau de créer automatiquement un dossier d'affaire (sur le
serveur) à partir d'un dossier modèle (contenant des sous-dossiers et
des fichiers).
Ce script utilise la commande ROBOCOPY via un SHELL.RUN. La commande
exacte est la suivante :

---début de l'extrait---
s = SCRIPTCHEMIN & "robocopy.exe ""Dossier-modèle"" """ &
CHEMINAFFAIRE & "" & AFFAIREN &""" /E /SEC"
r = shell.Run(s,1,TRUE)
---fin de l'extrait---

Jusqu'alors, le script fonctionnait à merveille, mais pour des raisons
de sécurité, j'ai dû modifier les permissions sur les dits dossiers.
J'ai pour cela créé un profil spécifique (non administrateur mais
ayant les droits complets sur ce dossier) dans l'AD et j'ai ensuite
complété le script de la manière suivante :

---début de l'extrait---
s = SCRIPTCHEMIN & "robocopy.exe ""Dossier-modèle"" """ &
CHEMINAFFAIRE & "" & AFFAIREN &""" /E /SEC"
s = SCRIPTCHEMIN & "xrunas.vbs /user: /pwd:toto " & s
r = shell.Run(s,1,TRUE)
---fin de l'extrait---

Quand je lance le script, celui-ci ne met aucun message d'erreur mais
le nouveau dossier n'est pas créé !
Peut-être y a t'il un message d'erreur, mais je n'ai pas le temps de
le lire car la console se ferme aussitôt.

J'ai essayé de taper la commande manuellement dans une console :

---début commande saisie---
xrunas.vbs /user: /pwd:toto robocopy.exe
"Dossier-modèle" "K:affairesnom du nouveau dossier avec des espaces"
/E /SEC
---fin commande saisie---

mais là aussi, une autre console s'ouvre et se referme aussitôt sans
que j'ai le temps de lire ce qu'il y a dedans.

J'ai ensuite essayé de taper la commande manuellement mais directement
avec RUNAS sans passer par XRUNAS :

---début commande saisie---
runas /user: robocopy.exe "Dossier-modèle"
"K:affairesnom du nouveau dossier avec des espaces" /E /SEC
---fin commande saisie---

là, il m'affiche le message d'aide de la commande. Il ne me demande
même pas le mot de passe !?...

J'ai ensuite essayé la commande sans les arguments :

---début commande saisie---
runas /user: robocopy.exe
---fin commande saisie---

là, il me demande bien le mot de passe, mais ensuite, j'ai le message
suivant :

---début du message---
Erreur de RUNAS : Impossible d'exécuter - robocopy.exe
3 : Le chemin d'accès spécifié est introuvable.
---fin du message---

Si je relance la commande en spécifiant le chemin réseau :

---début commande saisie---
runas /user: \serveurdossieraffairesrobocopy.exe
---fin commande saisie---

Le programme se lance bien !?...

Je précise que les chemins peuvent parfois être de la forme
"K:affaires" et parfois "\Serveurdossieraffaires" suivant que
l'utilisateur possède ou pas un lecteur réseau.
Il semblerait que la fonction "runas" ne supporte pas les lecteurs
réseaux ?

Par contre, je me suis aperçu que xrunas à créé un fichier
SETSCRIPT.BAT et que dans celui-ci, les arguments avait perdus leurs
guillemets. Je ne suis pas parvenu à régler ce problème sachant que
les 2 commandes imbriquées (ROBOCOPY et XRUNAS) ont toutes les deux
des paramètres.
J'ai essayé avec et sans le lecteur réseau, et cela donne cela :

---début SETSCRIPT.BAT avec---
@echo off
cscript //H:CScript //S /Nologo
"k:affairesxrunas.vbs" /user: /pwd:toto
K:Affairesrobocopy.exe Dossier-modèle K:Affairesnom du nouveau
dossier avec des espaces /E /SEC

---fin SETSCRIPT.BAT avec---

---début SETSCRIPT.BAT sans---
@echo off
cscript //H:CScript //S /Nologo
"\serveurdossieraffairesxrunas.vbs" /user:
/pwd:toto \ServeurdossierAffairesrobocopy.exe Dossier-modèle
\ServeurdossierAffairesnom du nouveau dossier avec des espaces /E
/SEC

---fin SETSCRIPT.BAT sans---

On aperçoit bien que tous les guillemets on disparus !

En conclusion, il semblerait que j'ai 2 problèmes à régler :
1-Mettre des chemins sans lettre de lecteur dans la ligne de commande
finale
2-Régler ce problème de guillemet qui disparaissent

Pourriez-vous me confirmer le point 1 et m'aider pour le point 2 s'il
vous plait car là je n'avance plus. :o(

Config : 1 Serveur W2k qui fait tout (domaine AD, TS, fichiers) avec
postes clients W2k, XP et peut-être un jour VISTA

D'avance merci et désolé pour la longueur du message ;o)

--
Eric R.


Avé ;o)

J'ai réussi à régler mon problème :o)

d'abord, le raccourcis qui lance l'application doit utiliser les chemin
réseau et pas le lecteur réseau :

\serveurdossierAffairesxrunas.vbs /user: /pwd:toto
"wscript \serveurdossierAffairesmonscript.vbs"

Ensuite, j'ai corrigé la ligne de commande de ROBOCOPY en mettant le
chemin complet du dossier modèle :

---début de l'extrait---
s = SCRIPTCHEMIN & "robocopy.exe """ & SCRIPTCHEMIN &
"Dossier-modèle"" """ & CHEMINAFFAIRE & "" & AFFAIREN &""" /E /SEC"
r = shell.Run(s,0,TRUE)
---fin de l'extrait---

C'est fou le temps que l'on peut passer pour des conneries de genre :o/
Ce que je ne comprend pas, c'est pourquoi RUNAS n'accepte pas les
lecteurs réseaux ?

Bon week end ;o)

moi
Le #1581724
ROGEON Eric wrote:
(...)
Ce que je ne comprend pas, c'est pourquoi RUNAS n'accepte pas les
lecteurs réseaux ?


à cause du "As" sans doute ;o)

logique, non ?

HB

ROGEON Eric
Le #1613102
"moi" %
ROGEON Eric wrote:
(...)
Ce que je ne comprend pas, c'est pourquoi RUNAS n'accepte pas les
lecteurs réseaux ?


à cause du "As" sans doute ;o)

logique, non ?


Après réflexion, oui. Mais avec mes compétences limitées, je n'ai pas
penser à çà :o/
Enfin bon, ce qui compte, c'est que cela fonctionne maintenant !

Merci de cette précision, je dormirais moins bête ce soir ;o)


HB



moi
Le #1613833
ROGEON Eric wrote:
(...)

(...), je dormirais moins bête ce soir ;o)



n'est-ce pas le but de tout bon NG ;o) ?

Bonne continuation,

HB

Publicité
Poster une réponse
Anonyme