EXECAS (RUNAS EN BATCH)

cs_xon Messages postés 13 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 9 septembre 2011 - 21 nov. 2006 à 08:23
media6 Messages postés 51 Date d'inscription mercredi 29 septembre 2004 Statut Membre Dernière intervention 7 juillet 2010 - 10 mars 2008 à 20:42
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/40392-execas-runas-en-batch

media6 Messages postés 51 Date d'inscription mercredi 29 septembre 2004 Statut Membre Dernière intervention 7 juillet 2010
10 mars 2008 à 20:42
Salut !
Même problème pour moi que Raymondub.
Avec les droits du système, pas possible d'utiliser CreateProcessWithLogonW !
Si quelqu'un a une solution, je suis preneur à 200%.
Mode recherche = On
Msgbox "Comment faire ?????"
Mode recherche = Off
;-)
raymondub Messages postés 8 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 21 janvier 2023
3 janv. 2008 à 15:15
Salut,
c'est génial comme code, ça m'a beaucoup aidé à solutionner une partie de mon problème.
J'avais un service qui tournait avant sur windows 2000 server en localsystem qui doit créer un process (CreateProcessWithLogon) dans un contexte particulier.
Ca fonctionnait nickel jusqu'à ce que je doive migrer l'application sur un serveur 2003.
J'ai vu que je dois utiliser maintenant CreateProcessWithLogonW et ton appli permet de switcher d'un serveur 2000 à 2003 facilement.
A partir d'un exe tout simple, ça fonctionne nickel.
Mais quand je veux créer mon process avec CreateProcessWithLogonW à partir de mon service, ça ne va pas... Le service démarre correctement mais mon application qui devrait être exécutée par CreateProcessWithLogonW ne démarre pas et j'ai un return code CreateProcessWithLogonW() failed with error 5.
Une idée ?
J'ai lu http://support.microsoft.com/kb/285879/fr ceci "CreateProcessWithLogonW ne peut pas être appelé à partir d'un processus sous le compte LocalSystem."
Mais je ne vois pas d'alternative.. Si j'utilise la méthode qui était utilisée avec NT4, j'ai un problème avec mon formulaire, il ne s'affiche pas correctement
ccontamina Messages postés 8 Date d'inscription mercredi 3 septembre 2003 Statut Membre Dernière intervention 21 mai 2008
6 nov. 2007 à 22:30
Pour répondre a JELLOGUIL
Tu peux l'inclure en fichier ressource, demarrer sur une sub Main dans un module, et extraire le fichier voulu contenu dans la ressource pour le copier dans le rep système, bien entendu le prog doit être lancé avec les droits pour cela.
jelloguil Messages postés 1 Date d'inscription mercredi 6 décembre 2006 Statut Membre Dernière intervention 7 décembre 2006
7 déc. 2006 à 17:27
J'aime bien l'utilité que je pourrais faire avec ce script, mais là j'ai un autre petit problème. Les postes que je veux exécuter ce script n'ont pas vb6fr.dll dans Windows\system. Alors comment faire pour le rendre accessible. vu que mes utilisateurs ne peuvent pas écrire dans ce dossier je ne peux donc pas aller le copier à cette endroit.

Merci
cs_xon Messages postés 13 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 9 septembre 2011
21 nov. 2006 à 08:23
Ah, j'oubliais : le programme retourne le status, qui peut être traité par ERRORLEVEL en mode batch :
0 --> OK
1 --> Erreur

Ceci peut être testé comme cela :

EXECAS <Commande>
IF ERRORLEVEL 1 GOTO ERROR
IF ERRORLEVEL 0 GOTO OK
:OK
<Commande>
GOTO END
:ERROR
<Commande>
:END
Rejoignez-nous