[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 ; Script lanceur 2 ; Auteur: Stephane Boireau 3 ; Et pour la partie la plus technique sur les processus ADMINSE3: 4 ; Jean Le Bail 5 ; Dernière modification: 11/04/2009 6 7 If @OSTYPE == "WIN32_WINDOWS" Then 8 MsgBox(0,"Information","Ce programme concerne les OS NT/2K/XP uniquement.") 9 Exit 10 Else 11 ;Include constants 12 #include <GUIConstants.au3> 13 14 ;Initialize variables 15 Global $GUIWidth 16 Global $GUIHeight 17 18 ;$GUIWidth = 300 19 $GUIWidth = 300 20 $GUIHeight = 245 21 ;$GUIHeight = 700 22 23 $NOM_FENETRE = "Choix de contrôle WPKG sur " & @ComputerName 24 GUICreate($NOM_FENETRE, $GUIWidth, $GUIHeight) 25 26 $x0=10 27 $y0=10 28 $y1=$y0+3 29 $hauteur_txt=20 30 $ecart=20 31 $largeur_zone_checkbox=160 32 ;================================== 33 34 Dim $strComputer, $ProcessUser 35 Dim $objWMIService, $colProcessList, $objProcess, $colProperties 36 Dim $strNameOfUser, $strUserDomain 37 $list = "" 38 39 $Champ_InfosPoste = GUICtrlCreateButton("Infos sur le poste", $x0, $y1, 280, 20) 40 $y0 = $y0 + $ecart 41 $y1=$y0+3 42 $Champ_WPKGlog = GUICtrlCreateButton("Editer le " & @WindowsDir & "\wpkg.log", $x0, $y1, 280, 20) 43 $y0 = $y0 + $ecart 44 $y1=$y0+3 45 $Champ_WPKGtxt = GUICtrlCreateButton("Editer le " & @WindowsDir & "\wpkg.txt", $x0, $y1, 280, 20) 46 $y0 = $y0 + $ecart 47 $y1=$y0+3 48 $Champ_WPKGxml = GUICtrlCreateButton("Editer le " & @WindowsDir & "\system32\wpkg.xml", $x0, $y1, 280, 20) 49 $y0 = $y0 + $ecart 50 $y1=$y0+3 51 $Champ_WPKGsupprxml = GUICtrlCreateButton("Supprimer le " & @WindowsDir & "\system32\wpkg.xml", $x0, $y1, 280, 20) 52 $y0 = $y0 + $ecart 53 $y1=$y0+3 54 $Label_WPKGsupprxml = GuiCtrlCreateLabel("(pour tester toutes les applis au prochain lancement wpkg)", $x0, $y1, 280, 20) 55 $y0 = $y0 + $ecart 56 $y1=$y0+3 57 $Champ_WPKGprocess = GUICtrlCreateButton("Contrôler les processus ADMINSE3", $x0, $y1, 280, 20) 58 $y0 = $y0 + $ecart 59 $y1=$y0+3 60 $Champ_WPKGreg = GUICtrlCreateButton("Contrôler la clé Running", $x0, $y1, 280, 20) 61 $y0 = $y0 + $ecart 62 $y1=$y0+3 63 $Champ_WPKGreg2 = GUICtrlCreateButton("Corriger la clé Running", $x0, $y1, 280, 20) 64 $y0 = $y0 + $ecart 65 $y1=$y0+3 66 ; Passer la clé Running en False 67 68 $Champ_WPKGsuppr = GUICtrlCreateButton("Supprimer le client WPKG", $x0, $y1, 280, 20) 69 $y0 = $y0 + $ecart 70 $y1=$y0+3 71 $Label_WPKGsuppr = GuiCtrlCreateLabel("(pour en forcer la réinstallation au prochain login)", $x0, $y1, 280, 20) 72 If IsAdmin() Then 73 $bidon="" 74 Else 75 GUICtrlSetState($Champ_WPKGreg2,$GUI_DISABLE) 76 GUICtrlSetState($Champ_WPKGsuppr,$GUI_DISABLE) 77 EndIf 78 79 ; Ouvrir le Gestionnaire de tâches pour contrôler 80 ; Relancer via RUNAS... 81 82 ;================================== 83 84 ; $y0 = $GUIHeight - 35 85 ; $x=($GUIWidth-2*70-35)/2 86 87 ; ; Création du bouton "OK" 88 ; $OK_Btn = GUICtrlCreateButton("OK", $x, $y0, 70, 25) 89 90 91 ; $x=$x+70+35 92 93 ; ; Création du bouton "CANCEL" 94 ; $Cancel_Btn = GUICtrlCreateButton("Cancel", $x, $y0, 70, 25) 95 96 ;================================== 97 98 ; On rend la fenêtre visible (modification de statut) 99 GUISetState(@SW_SHOW) 100 101 ; On fait une boucle jusqu'à ce que: 102 ; - l'utilisateur presse ESC 103 ; - l'utilisateur presse ALT+F4 104 ; - l'utilisateur clique sur le bouton de fermeture de la fenêtre 105 While 1 106 ; Après chaque boucle, on contrôle si l'utilisateur a cliqué sur quelque chose 107 $msg = GUIGetMsg() 108 109 Select 110 ; On teste si l'utilisateur a cliqué sur le bouton $Champ_WPKGlog 111 ; Infos sur le poste 112 Case $msg = $Champ_InfosPoste 113 ;... 114 $affichage="ComputerName: " & @ComputerName 115 $affichage&=@CRLF & "OSVersion: " & @OSVersion 116 $affichage&=@CRLF & "Domaine Windows: " & @LogonDomain 117 $affichage&=@CRLF & "Domaine DNS: " & @LogonDNSDomain 118 $affichage&=@CRLF & "IP1: " & @IPAddress1 119 If @IPAddress2 <> "0.0.0.0" Then 120 $affichage&=@CRLF & "IP2: " & @IPAddress2 121 EndIf 122 If @IPAddress3 <> "0.0.0.0" Then 123 $affichage&=@CRLF & "IP3: " & @IPAddress3 124 EndIf 125 If @IPAddress4 <> "0.0.0.0" Then 126 $affichage&=@CRLF & "IP4: " & @IPAddress4 127 EndIf 128 $affichage&=@CRLF & "Le " & @MDAY & "/" & @MON & "/" & @YEAR & " à " & @HOUR & ":" & @MIN & ":" & @SEC 129 130 MsgBox(0,"Infos",$affichage) 131 132 ; Edition du wpkg.log 133 Case $msg = $Champ_WPKGlog 134 Run("notepad.exe " & @WindowsDir & "\wpkg.log") 135 136 ; Edition du wpkg.txt 137 Case $msg = $Champ_WPKGtxt 138 Run("notepad.exe " & @WindowsDir & "\wpkg.txt") 139 140 ; Contrôle des processus tournant sous l'identité de adminse3 141 Case $msg = $Champ_WPKGprocess 142 $list = "" 143 $ObjWMIService = ObjGet ( "winmgmts:{impersonationLevel = impersonate}!\\.\root\cimv2" ) 144 $ColSettings = $ObjWMIService.ExecQuery ( "SELECT * FROM Win32_Process" ) 145 For $objProcess In $ColSettings 146 $strNameOfUser = "" 147 $strUserDomain = "" 148 $colProperties = $objProcess.GetOwner($strNameOfUser, $strUserDomain) 149 If StringLower($strNameOfUser) = "adminse3" Then 150 $list &= $objProcess.Name & @CRLF 151 EndIf 152 Next 153 If $list = "" Then 154 MsgBox ( 0 , "Processus d'adminse3" , "Aucun processus trouvé !" ) 155 Else 156 MsgBox ( 0 , "Processus d'adminse3" , $list ) 157 EndIf 158 ;$SCRIPT=@ScriptDir & "\listProcessAdminse3.vbs" 159 ;Run(@ComSpec & " cmd /c @echo **************************** & @echo Liste des processus ADMINSE3 & @echo **************************** & cscript " & $SCRIPT & " & pause", "", @SW_MAXIMIZE) 160 161 ; Lecture de la clé RUNNING 162 Case $msg = $Champ_WPKGreg 163 $valeur=RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\WPKG","Running") 164 $chaine="La valeur de la clé" & @CRLF & " HKEY_LOCAL_MACHINE\SOFTWARE\WPKG" & @CRLF & "est:" & @CRLF & " " & $valeur 165 If $valeur == "true" Then 166 $chaine=$chaine & @CRLF & "Si plus aucune tâche ne tourne sous l'identité ADMINSE3," & @CRLF & "cette clé devrait être à FALSE." 167 EndIf 168 MsgBox(0,"Info",$chaine) 169 170 ; Correction de la clé RUNNING 171 Case $msg = $Champ_WPKGreg2 172 $valeur=RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\WPKG","Running") 173 If $valeur == "false" Then 174 MsgBox(0,"Info","La valeur de " & @CRLF & "HKEY_LOCAL_MACHINE\SOFTWARE\WPKG\running" & @CRLF & "est déjà FALSE.") 175 Else 176 $ecriture=RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\WPKG","running","REG_SZ","false") 177 If $ecriture <> 1 Then 178 MsgBox(0,"Erreur","Il s'est produit une erreur lors de la tentative de passage à FALSE de la valeur" & @CRLF & "HKEY_LOCAL_MACHINE\SOFTWARE\WPKG\running") 179 EndIf 180 EndIf 181 182 ; Suppression du client wpkg 183 Case $msg = $Champ_WPKGsuppr 184 If FileExists(@WindowsDir & "\wpkg-client.vbs") Then 185 FileRecycle(@WindowsDir & "\wpkg-client.vbs") 186 ;If @error == 1 Then 187 Sleep(1000) 188 If FileExists(@WindowsDir & "\wpkg-client.vbs") Then 189 MsgBox(0,"Erreur","Il s'est produit une erreur lors de la tentative de suppression de" & @CRLF & " " & @WindowsDir & "\wpkg-client.vbs") 190 Else 191 MsgBox(0,"Succès","La suppression de " & @CRLF & " " & @WindowsDir & "\wpkg-client.vbs" & @CRLF & "a réussi." & @CRLF & "Le VBS sera réinstallé à la prochaine connexion.") 192 EndIf 193 Else 194 MsgBox(0,"Info","Le fichier" & @CRLF & " " & @WindowsDir & "\wpkg-client.vbs" & @CRLF & "n'est pas présent.") 195 EndIf 196 197 ; Edition du wpkg.xml 198 Case $msg = $Champ_WPKGxml 199 Run("notepad.exe " & @WindowsDir & "\system32\wpkg.xml") 200 201 ; Suppression du wpkg.xml 202 Case $msg = $Champ_WPKGsupprxml 203 If FileExists(@WindowsDir & "\system32\wpkg.xml") Then 204 FileRecycle(@WindowsDir & "\system32\wpkg.xml") 205 ;If @error == 1 Then 206 Sleep(1000) 207 If FileExists(@WindowsDir & "\system32\wpkg.xml") Then 208 MsgBox(0,"Erreur","Il s'est produit une erreur lors de la tentative de suppression de" & @CRLF & " " & @WindowsDir & "\system32\wpkg.xml") 209 Else 210 MsgBox(0,"Succès","La suppression de " & @CRLF & " " & @WindowsDir & "\system32\wpkg.xml" & @CRLF & "a réussi." & @CRLF & "Lors de la prochaine exécution de WPKG, toutes les applications seront testées sans tenir compte d'éventuels enregistrements d'une précédente exécution.") 211 EndIf 212 Else 213 MsgBox(0,"Info","Le fichier" & @CRLF & " " & @WindowsDir & "\wpkg-client.vbs" & @CRLF & "n'est pas présent.") 214 EndIf 215 216 ;ExitLoop 217 ;GUIDelete() 218 219 ; On teste si l'utilisateur a cliqué sur le bouton CANCEL 220 ;Case $msg = $Cancel_Btn 221 ; ;MsgBox(64, "Abandon!", "Vous avez souhaité abandonner la mise en place.") 222 ; GUIDelete() 223 ; Exit 224 225 226 ; On teste si l'utilisateur a cliqué sur le bouton CANCEL 227 Case $msg = $GUI_EVENT_CLOSE 228 ;ExitLoop 229 GUIDelete() 230 Exit 231 EndSelect 232 WEnd 233 EndIf 234 Exit
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |