[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-wpkg/sources/verif_wpkg/ -> verif_wpkg.au3 (source)

   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


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1