[R] Problème de lancement psexec

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
sergio
Niveau 2
Niveau 2
Messages : 25
Enregistré le : jeu. 25 oct. 2007 16:14
Status : Hors ligne

[R] Problème de lancement psexec

#1

Message par sergio »

bonjour
mon souhait :roll:

je veux lancer des installations à distance (fichiers msi). J'ai une liste de pc à partir de cette liste je fais une boucle tat qu'il y a un pc je lance l'install....
la boucle fonctionne, j'ai un blème dans la syntaxe (je suppose car sur le pc j'ai bien psexec qui demarre mais j'ai un message d'erreur)
si quelqu'un à un idée je suis preneur :D
merci d'avance...

Code : Tout sélectionner

$PSexec = "c:\outils\psexec.exe" 
$Source = "\\servinstall\ref$\fichier.msi" 
$Log = "\\serveur\exploit$\logs\appli\" 
$Date = @MDAY & @MON & @YEAR 
;$App = "msiexec /i" & $Source & ' ' & "/l*" & ' ' & $Log & $Pc & $Date & ".txt" & ' ' & "ALLUSERS = 1" 
$Liste = FileOpen ( "\\serveur\exploit$\Appli\test.txt" , 0 ) 
; verif de l'ouverture fichier If $Liste = - 1 Then 
MsgBox ( 0 , "Erreur" , "impossible ouvrir fichier." ) 
Exit 
EndIf 
; lecture du fichier 
While 1 
$Pc = FileReadLine ( $Liste ) 
MsgBox ( 0 , "Erreur" , $Pc ) 
If @error = - 1 Then ExitLoop 
$App = "msiexec /i" & $Source & ' ' & "/l*" & ' ' & $Log & $Pc & ".txt" & ' ' & "ALLUSERS = 1" 
RunAsSet ( "toto" , "domaine" , "password" ) 
$lance = Run ( @ComSpec & ' /k "' & $PSexec & ' \\' & $Pc & ' ' & $App ) 
RunAsSet ( ) 
Wend 
Exit
Modifié en dernier par sergio le lun. 10 déc. 2007 15:24, modifié 1 fois.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1550
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

#2

Message par sylvanie »

Bonsoir,
on va essayer de dissocier les errures dûes à Autoit de celles dûes à Psexec :
qu'est que donne la commande Psexec lorsqu'elle est executée normalement sous un cmd, sans passer par un script autoit ?
si l'erreur vient de là, psexec est normalement assez verbeux.

si cette manip marche, alors il faut faire afficher la commande construite par $PSexec & ' \\' & $Pc & ' ' & $App pour voir si il n'y a pas des boullettes dans la construction des variables

sinon le RunAsSet ( "toto" , "domaine" , "password" ) , pourrait être évité en passant ces infos en argument à psexec :
- u domaine\toto -p password

à suivre ;)
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
sergio
Niveau 2
Niveau 2
Messages : 25
Enregistré le : jeu. 25 oct. 2007 16:14
Status : Hors ligne

#3

Message par sergio »

bonjour,
dans mes test j'avais testé la commande, mais le test etait un peu faussé je pense.
je lancais la commande mais celle ci etait dans un fichier .cmd
je vais retesté le psexec sans passé par un fichier cmd

pour la commande RunAsSet j'ai récupéré un script que je me serts pour lancer des exe. je voudrais garder la meme structure pour me simplifier la vie pour differents scripts plus ou moins similaires.
sergio
Niveau 2
Niveau 2
Messages : 25
Enregistré le : jeu. 25 oct. 2007 16:14
Status : Hors ligne

#4

Message par sergio »

c'est le psexec qui en fin de compte n'apprecie pas la commande runas :evil:
je pose le script qui fonctionne comme ça si quelqu'un est intéressé il ne se cassera pas la tête :D

Code : Tout sélectionner

#cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
AutoIt Version: 3.2.10.0 
Author: sergio 
#ce - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
$PSexec = "c:\outils\psexec.exe" 
$Source = "\\servinstall\appli\appli.msi" 
$Log = "\\servlog\logs$\appli\" 
$Date = @MDAY & @MON & @YEAR 
$Liste = FileOpen ( "\\serv\exploit$\Appli\test.txt" , 0 ) 
; verif de l'ouverture fichier If $Liste = - 1 Then 
MsgBox ( 0 , "Erreur" , "impossible ouvrir fichier." ) 
Exit 
EndIf 
; lecture du fichier 
While 1 
$Pc = FileReadLine ( $Liste ) 
;test 
;MsgBox ( 0 , "lecture fichier ok pc n°" , $Pc ) 
If @error = - 1 Then ExitLoop 
$App = 'msiexec /i' & ' ' & $Source & ' ' & '/passive /norestart /L*' & ' ' & $Log & $Pc & '_' & $Date & '.txt' & ' ' & "ALLUSERS = 1" 
$lance = Run ( @ComSpec & ' /k"' & $PSexec & ' ' & ' - u' & ' ' & 'dom\user' & ' ' & ' - p' & ' ' & 'pasword' & ' ' & ' \\' & $Pc & ' ' & $App ) 
Wend 
Exit
Répondre