Page 1 sur 2
[R] Aide pour mon script a jout au domaine
Posté : mer. 11 févr. 2009 18:15
par africanism
Bonjour a tous j'ai besoin de vos lumiere sur mon script car j'ai des erreur mais je voit pas ou
je debute donc
merci a tous. si vous pouvez m'aider.
Code : Tout sélectionner
#include <Constants.au3>
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Menu", 606, 228, 474, 355)
$OK = GUICtrlCreateButton("OK", 448, 88, 89, 65, 0)
$Input1 = GUICtrlCreateInput("TEST", 181, 72, 225, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Input2 = GUICtrlCreateInput("TEST\", 181, 112, 225, 21)
$Input3 = GUICtrlCreateInput("", 181, 149, 225, 21)
$Domaine = GUICtrlCreateLabel("Domaine", 128, 72, 46, 17)
$User = GUICtrlCreateLabel("User", 136, 112, 26, 17)
$Password = GUICtrlCreateLabel("Password", 120, 152, 50, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$foo = Run(@ComSpec & " /c " & "netdom join %computername% /domain:"& GUICtrlRead($Input1)&" /userd:"& guictrlread($Input2)&" /passwordd:"& guictrlread($Input3))
While 1
$Msg = GUIGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $OK
$line = StdoutRead($foo)
MsgBox(0,"Line read",$line)
If @error Then ExitLoop
If $line = "The command completed successfully." then
MsgBox(0, "Progress", $line & " Click to Reboot")
Run(@ComSpec & " /c " & "shutdown -r -t 1")
endif
If $line <> "The command completed successfully." Then
MsgBox(0, "Progress", "Process failed Remove from domain manually")
exit
endif
Exit
Re: [..] Aide pour mon script a jout au domaine
Posté : mer. 11 févr. 2009 20:58
par jbnh
Dernière ligne, tu enleves exit et tu remplace par :
Hésite pas a un peu chercher et lire la doc avant de poser une question.
Re: [..] Aide pour mon script a jout au domaine
Posté : mer. 11 févr. 2009 21:19
par Tlem
L'utilisation de
Scite4AutoIt vous aurait permit de voir vos erreurs en faisant simplement un CTRL + F5 ou en utilisant CTRL + T.
Re: [..] Aide pour mon script a jout au domaine
Posté : jeu. 12 févr. 2009 10:54
par africanism
merci pour vos conseil
j'ai bien renseigner plus d'erreur dans le script
et merci pour le fichier qui permet de controle
par contre
j'ai un petit soucis mon script ne fonctionne pas
et je ne voit pas d'ou ca vient.
en gros je veut integrer un pc sur un domaine avec le compte et le mots passe qui vont bien tous en les renseignant.
avez vous une idée de mon erreur.
Re: [..] Aide pour mon script ajout au domaine
Posté : jeu. 12 févr. 2009 14:41
par Yogui
j'ai un peu modifier votre pour comprendre un peu votre ou vos erreurs
Dans un premier temps je dirai qu'il ne peux pas fonctionner vous lancez la commande COMNET alors que vous n'avez rien dans vos inputbox (je les désactive merci de saisir vos infos directement dans le code)
Normalement il doit vous afficher un notepad avec le message d'erreur pouvez vous copier le message ici
merci
► Afficher le texte
Code : Tout sélectionner
#include <Constants.au3>
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Menu", 606, 228, 474, 355)
$OK = GUICtrlCreateButton("OK", 448, 88, 89, 65, 0)
$Input1 = GUICtrlCreateInput("TEST", 181, 72, 225, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Input2 = GUICtrlCreateInput("", 181, 112, 225, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Input3 = GUICtrlCreateInput("", 181, 149, 225, 21)
GUICtrlSetState(-1, $GUI_DISABLE)
$Domaine = GUICtrlCreateLabel("Domaine", 128, 72, 46, 17)
$User = GUICtrlCreateLabel("User", 136, 112, 26, 17)
$Password = GUICtrlCreateLabel("Password", 120, 152, 50, 17)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUISetState(@SW_SHOW)
;----------------A MODIFIER-------------
;*********************************************************
$domaine = "VOTRE DOMAINE"
$user = "ID ADMINISTRATEUR"
$pass = "MOT DE PASSE"
;*********************************************************
$foo = Run("netdom join "& @ComputerName &" /domain:"&$domaine&" /userd:"&$user&" /passwordd:"&$pass, @SystemDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
Dim $line
While 1
$Msg = GUIGetMsg()
Select
Case $Msg = $GUI_EVENT_CLOSE
ExitLoop
Case $Msg = $OK
$line = StdoutRead($foo)
MsgBox(0, "Line read", $line)
FileWrite("resultat.txt",$line)
ShellExecute("resultat.txt")
Exit
EndSelect
WEnd
Merci de modifier les informations utilisateur et domaine dans le code
Re: [..] Aide pour mon script a jout au domaine
Posté : jeu. 12 févr. 2009 15:44
par africanism
merci pour ta reponse mais je ne veut pas que le domaine le login et le mots de passe soit en dur
je veut les renseigner.
a chaque lancement du menu
Re: [..] Aide pour mon script a jout au domaine
Posté : jeu. 12 févr. 2009 15:50
par Yogui
Qui à parler de mettre en dur
ce code fonctionne chez moi car les renseignement demandés son renseignés avant de lancer la commande COMNET (contrairement à votre code qui lance la commande et ensuite demande le nom d'utilisateur.)
Mon code doit juste retourner un msgbox puis un notepad indiquant les erreurs ou autre message pour voir si déjà le premier jet est correcte si le message ne comporte pas d'erreur je chercherai le code pour saisir les info puis lancer la commande
Re: [..] Aide pour mon script a jout au domaine
Posté : jeu. 12 févr. 2009 15:58
par africanism
Bonjour dans le script que vous m'avez monter
vous marquer ceci
;----------------A MODIFIER-------------
;*********************************************************
$domaine = "VOTRE DOMAINE"
$user = "ID ADMINISTRATEUR"
$pass = "MOT DE PASSE"
;*********************************************************
Bien sur si je les renseigne donc en dur
ca fonctionne
mais a t'il moyen dans le menu du depart de renseigner comme je voulais et que ca prenne en compte mes info
Re: [..] Aide pour mon script a jout au domaine
Posté : jeu. 12 févr. 2009 17:23
par Yogui
Vous savez donc tout votre code ne fonctionne pas car vous lancez la commande COMNET alors que les renseignements obligatoires pour qu'elle fonctionne ne sont pas encore saisie...
Il suffit de lancer la commande qu'après avoir valider ...
Re: [..] Aide pour mon script a jout au domaine
Posté : jeu. 12 févr. 2009 17:27
par africanism
merci pour la reponse
mais etant donne que je debute quesqu'une commande COMNET
apres j'ai fait un copier coler de votre script
mais a aucun moment je peut renseigner les champ puis valider par OK
Re: [..] Aide pour mon script a jout au domaine
Posté : jeu. 12 févr. 2009 21:12
par Yogui
Je me suis trompé de commande je ne voulais pas saisir comnet mais netdom désolé de la confusion
le problème de votre script qu'il ne peux pas fonctionner tel que vous l'avez écris.
je suis chez moi et je n'ai pas de domaine

ici mais testez ce code :
► Afficher le texte
Code : Tout sélectionner
#include <Constants.au3>
$domaine = InputBox('domaine', "saisir ici votre nom de domaine")
$user = InputBox('Utilisateur', "saisir ici votre nom d'un administrateur")
$pass = InputBox('Mot de passe', "saisir ici le mot de passe de votre administrateur")
$foo = Run("netdom join " & @ComputerName & " /domain:" & $domaine & " /userd:" & $user & " /passwordd:" & $pass, @SystemDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
Dim $line
While 1
$line = StdoutRead($foo)
MsgBox(0, "Line read", $line)
FileWrite("resultat.txt", $line)
ShellExecute("resultat.txt")
Exit
WEnd
Re: [..] Aide pour mon script a jout au domaine
Posté : jeu. 12 févr. 2009 21:26
par africanism
merci je testerait demain car je suis chez moi
cdt
Re: [..] Aide pour mon script a jout au domaine
Posté : ven. 13 févr. 2009 10:02
par africanism
Bonjour
je vient de faire le test avec votre script et ca fonctionne parfaitement
encore merci pour vos lumiere.
Re: [..] Aide pour mon script a jout au domaine
Posté : ven. 13 févr. 2009 15:28
par africanism
Re bonjour
pour votre script ca marche inpec
par est t'il possible de mmtre des condition si par ex l'ajour au domaine est ok il fasse tel chose
sinon faire autre chose
j'ai bien essayer de le faire tous seul mais des qu'il a bien reussi a joindre le domaine il passe directement a la deuxieme condition.
voici ce que j'ai mit
► Afficher le texte
Code : Tout sélectionner
#include <Constants.au3>
$domaine = "TEMP"
;$domaine = InputBox('domaine', "saisir ici votre nom de domaine", "TEMP")
$user = InputBox('Utilisateur', "Login ex:TEMP\*****")
$pass = InputBox('Mot de passe', "Votre mots de Passe", "", "*")
$foo = Run("netdom join " & @ComputerName & " /domain:" & $domaine & " /userd:" & $user & " /passwordd:" & $pass, @SystemDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
Dim $line
While 1
$line = StdoutRead($foo)
MsgBox(0, "Line read", $line)
If @error Then ExitLoop
If $line = "The command completed successfully." Then
MsgBox(0, "DOMAINE", "Vous avez join le domaine " & $domaine, 3)
WinWaitClose("DOMAINE")
Run("C:\Documents and Settings\Administrator\Desktop\Finalisation\Groupe_admin_SAG.cmd", "", @SW_MINIMIZE)
WinWaitClose("C:\WINDOWS\system32\cmd.exe")
MsgBox(0, "Groupes Admin", "Ajout Groupes Admin Réussi", 3)
WinWaitClose("Groupes Admin")
MsgBox(0, "Progress", $line & " Lancer Radia")
WinWaitClose("Progress")
Run("C:\WINDOWS\RADCONNECT.BAT")
ProcessWaitClose("RadTray.exe")
MsgBox(0, "Radia", "Termine", 3)
Exit
Else
MsgBox(0, "Erreur", "A faire manuellement")
Exit
EndIf
WEnd
Re: [..] Aide pour mon script a jout au domaine
Posté : ven. 13 févr. 2009 16:01
par africanism
Bon j'ai essayer d'optimiser
mais il ne veut toujours pas lancer la suite du script
voici ce que j'ai fait
► Afficher le texte
Code : Tout sélectionner
#include <Constants.au3>
$domaine = "TEMP"
;$domaine = InputBox('domaine', "saisir ici votre nom de domaine", "TEMP")
$user = InputBox('Utilisateur', "Login ex:TEMP\*****")
$pass = InputBox('Mot de passe', "Votre mots de Passe", "", "*")
$foo = Run("netdom join " & @ComputerName & " /domain:" & $domaine & " /userd:" & $user & " /passwordd:" & $pass, @SystemDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
Dim $line
While 1
$line = StdoutRead($foo)
MsgBox(0, "Line read", $line)
If @error Then ExitLoop
If $line <> "The command completed successfully." Then ExitLoop
If $line = "The command completed successfully." Then
MsgBox(0, "DOMAINE", "Vous avez join le domaine " & $domaine, 3)
WinWaitClose("DOMAINE")
Run("C:\Documents and Settings\Administrator\Desktop\Finalisation\Groupe_admin_SAG.cmd", "", @SW_MINIMIZE)
WinWaitClose("C:\WINDOWS\system32\cmd.exe")
MsgBox(0, "Groupes Admin", "Ajout Groupes Admin Réussi", 3)
WinWaitClose("Groupes Admin")
MsgBox(0, "Progress", $line & " Lancer Radia")
WinWaitClose("Progress")
Run("C:\WINDOWS\RADCONNECT.BAT")
ProcessWaitClose("RadTray.exe")
MsgBox(0, "Radia", "Termine", 3)
EndIf
WEnd
Exit
Re: [..] Aide pour mon script a jout au domaine
Posté : dim. 15 févr. 2009 19:45
par africanism
bonjour a tous
quelqu'un peut me dire ou j'ai fait une erreur car la ??????????????
je sais pas
Re: [..] Aide pour mon script a jout au domaine
Posté : lun. 16 févr. 2009 10:46
par Yogui
code que je n'ai pas testé entièrement mais je ferai comme ça :
► Afficher le texte
#include <Constants.au3>
#include <GUIConstants.au3>
#include <Constants.au3>
$domaine = "TEMP"
;$domaine = InputBox('domaine', "saisir ici votre nom de domaine", "TEMP")
$user = InputBox('Utilisateur', "Login ex:TEMP\*****")
$pass = InputBox('Mot de passe', "Votre mots de Passe", "", "*")
$foo = Run("netdom join " & @ComputerName & " /domain:" & $domaine & " /userd:" & $user & " /passwordd:" & $pass, @SystemDir, @SW_HIDE, $STDIN_CHILD + $STDOUT_CHILD)
Dim $line
While 1
$Msg = GUIGetMsg()
$line = StdoutRead($foo)
MsgBox(0, "Line read", $line)
If @error Then ExitLoop
If $line <> "" Then
$resultat = StringInStr($line, "The command completed successfully.")
If $resultat <> 0 Then
MsgBox(0, "DOMAINE", "Vous avez join le domaine " & $domaine, 3)
WinWaitClose("DOMAINE")
Run("C:\Documents and Settings\Administrator\Desktop\Finalisation\Groupe_admin_SAG.cmd", "", @SW_MINIMIZE)
WinWaitClose("C:\WINDOWS\system32\cmd.exe")
MsgBox(0, "Groupes Admin", "Ajout Groupes Admin Réussi", 3)
WinWaitClose("Groupes Admin")
MsgBox(0, "Progress", $line & " Lancer Radia")
WinWaitClose("Progress")
Run("C:\WINDOWS\RADCONNECT.BAT")
ProcessWaitClose("RadTray.exe")
MsgBox(0, "Radia", "Termine", 3)
Exit
Else
MsgBox(0, "", "erreur")
Exit
EndIf
EndIf
WEnd
Re: [..] Aide pour mon script a jout au domaine
Posté : lun. 16 févr. 2009 11:32
par africanism
merci ca fonctionne impeccable
si ça te dérange pas tu veut bien m'explique
les lignes suivantes
► Afficher le texte
If $line <> "" Then
$resultat = StringInStr($line, "The command completed successfully.")
If $resultat <> 0 Then
Re: [..] Aide pour mon script a jout au domaine
Posté : lun. 16 févr. 2009 11:40
par Yogui
Code : Tout sélectionner
If $line <> "" Then
$resultat = StringInStr($line, "The command completed successfully.")
If $resultat <> 0 Then
Pas de problème; dans votre variable [blink]$line[/blink] vous avez plusieurs informations sur plusieurs ligne par exemple :
Cet ordinateur est déjà lié à un domaine.
The command failed to complete successfully.
Vous ne pouvez donc pas faire if $line = "The command completed successfully" l'égalité est trop restrictive
la fonction StringinStr permet de rechercher une chaîne dans une chaîne (Voir l'aide pour son fonctionnement précis) si la chaîne est présente le fonction retourne son emplacement si elle n'est pas présente elle retourne 0 donc si vous avez autre chose que 0 dans la variable $resultat c'est que la chaîne est présente.
j'ai tenté d'être le plus précis possible j'espère avoir été claire
Re: [..] Aide pour mon script a jout au domaine
Posté : lun. 16 févr. 2009 11:56
par africanism
merci pour cette clarete
merci encore et bonne continuation