Code : Tout sélectionner
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIListBox.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include <GuiListBox.au3>
#include <GuiMenu.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("SAC Roles Extractor", 450, 307, 192, 124) ; Primary GUI
WinMove("SAC Roles Extractor", "", 10,10,385 , 327)
GUICtrlCreateLabel("User", 10, 5, 50)
$idUser = GUICtrlCreateInput("SAC_ADMIN", 10, 20, 100, 20) ; User
GUICtrlCreateLabel("Password", 170, 5, 50)
$idPWD = GUICtrlCreateInput("", 170, 20, 200, 20,$ES_PASSWORD) ; Password
GUICtrlSetState(-1, $GUI_FOCUS)
$Button1 = GUICtrlCreateButton("Extract All Roles", 10, 150, 90)
$Checkbox1 = GUICtrlCreateCheckbox("SAC BLC Simu", 10, 65, 90)
$Checkbox2 = GUICtrlCreateCheckbox("SAC BLC Prod ", 10, 85, 90)
$Checkbox3 = GUICtrlCreateCheckbox("SAC VMR Prod", 10, 105, 90)
$Checkbox4 = GUICtrlCreateCheckbox("SAC DNT Prod", 10, 125, 90)
$List1 = GUICtrlCreateList("", 170, 70, 200, 75, $WS_BORDER+$WS_VSCROLL)
$Input1 = GUICtrlCreateInput("", 15, 240, 297, 21)
$Label = GUICtrlCreateLabel("Environments", 10, 50, 90, 15)
$Labe2 = GUICtrlCreateLabel("Applications Selected View", 170, 50, 200, 15)
$Labe3 = GUICtrlCreateLabel("Destination", 15, 215, 70, 17)
Local $arr2[4] = ["\\eu\Dfseu\IS\Application\SHM\SHM_SIMU\SAC\UDL\Sac.udl","\\EU\DFSEU\IS\Application\SHMconfig\SAC\UDL\SAC.udl","\\EU\DFSEU\Villemur\IS\Application\SHM\SHM_Prod\SHMConfig\SAC\UDL\SAC.udl","\\EU\DFSEU\Corinth\IS\Application\SHM\SHM_Prod\SHMConfig\SAC\UDL\SACDTN.udl"]
Global $Tab2D[20][2]=[["EED-","EED"],["PDM-","SEE PDM"],["PLM-","SEE PLM"],["ADMINTOOLS-","SEE ADMIN"],["AUTHO-MANAG-","SHM AUTHO"],["BUILD-","SHM BUILD"],["CONFIG-MANAGER-","SHM CONFIG"],["CUTTING-","SHM CUTTING"],["ECN-","SHM ECN"],["HARNESS-MANAG-","SHM HARNESS"],["HARNESS-MANAG-ADMIN-","SHM HARNESS MANAGEMENT AD"],["KNOWLEDGEWARE-","SHM KNOWLEDGEWARE"],["LAUNCHER-","SHM LAUN"],["TEST-","SHM TEST"],["TOOLSHOP-","SHM TOOL"],["TRACEABILITY-","SHM TRACE"],["TRACEABILITY-ADMIN-","SHM TRACEABILITY AD"],["WIRESPREP-","SHM WIRES"],["WORKERSSKILLS-","SHM WORK"],["SPM-","SPM"]]
$d = @MDAY
$m = @MON
$y = @YEAR
GUISetState(@SW_SHOW,$Form1)
#EndRegion ### END Koda GUI section ###
While 1
$iMsg = GUIGetMsg()
Select
Case $iMsg = $GUI_EVENT_CLOSE
Exit
Case $iMsg = $Button1
$DEST = GUICtrlRead($Input1)
$PWD = GUICtrlRead ( $idPWD )
If $PWD <> "" Then
If $Dest <> "" Then
If BitAND(GUICtrlRead($Checkbox1), $GUI_UNCHECKED) = $GUI_UNCHECKED AND BitAND(GUICtrlRead($Checkbox2), $GUI_UNCHECKED) = $GUI_UNCHECKED AND BitAND(GUICtrlRead($Checkbox3), $GUI_UNCHECKED) = $GUI_UNCHECKED AND BitAND(GUICtrlRead($Checkbox4), $GUI_UNCHECKED) = $GUI_UNCHECKED Then
MsgBox (48, "Error", "Select environments")
Else
Call("SAC") ;application qui gère les droits
If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) = $GUI_CHECKED Then
$site = $arr2[0] ; ouvre le fichier udl blc simu (site1)
connexion($site)
For $i=0 To ubound($Tab2D, 1)-1 ;extraction xml
$fic = $Tab2D[$i][0]
$mod = $Tab2D[$i][1]
extract($fic,$mod)
Next
EndIf
If BitAND(GUICtrlRead($Checkbox2), $GUI_CHECKED) = $GUI_CHECKED Then
$site = $arr2[1] ; ouvre le fichier udl blc prod (site2)
connexion($site)
For $i=0 To ubound($Tab2D, 1)-1 ;extraction xml
$fic = $Tab2D[$i][0]
$mod = $Tab2D[$i][1]
extract($fic,$mod)
Next
EndIf
If BitAND(GUICtrlRead($Checkbox3), $GUI_CHECKED) = $GUI_CHECKED Then
$site = $arr2[2] ;site3
connexion($site)
For $i=0 To ubound($Tab2D, 1)-1 ;extraction xml
$fic = $Tab2D[$i][0]
$mod = $Tab2D[$i][1]
extract($fic,$mod)
Next
EndIf
If BitAND(GUICtrlRead($Checkbox4), $GUI_CHECKED) = $GUI_CHECKED Then
$site = $arr2[3] ;site4
connexion($site)
For $i=0 To ubound($Tab2D, 1)-1 ;extraction xml
$fic = $Tab2D[$i][0]
$mod = $Tab2D[$i][1]
extract($fic,$mod)
Next
EndIf
WinClose("SEE Access Control Administration Tool")
WinWaitClose("SEE Access Control Administration Tool")
Msgbox(0, "Extract done", "Extract done to " & GUICtrlRead($Input1))
EndIf
Else
MsgBox(0x0, "Click", "Destination not set")
EndIf
Else
MsgBox(0x0, "Click", "Passwd not set")
EndIf
Func SAC()
Run("C:\Program Files (x86)\IGE+XAO\SEE Access Control V4R5\See_soft\Exe\See_User_Access_AdminTool.exe")
EndFunc
Func Connexion($udl) ; il faudra aussi utiliser un tableau pour la connexion à l'udl
If Winwait("SEE Access Control Administration Tool") Then
ControlClick("SEE Access Control Administration Tool", "","ToolbarWindow321", "primary", 1, 70, 13)
Winwait("Open", "Tree View")
ControlSetText("Open", "", "Edit1", $udl)
ControlClick("Open", "", "Button1")
Winwait("Connection")
Send(GUICtrlRead($iduser))
ControlFocus("Connection", "", "Edit2")
Send(GUICtrlRead($idPWD))
ControlClick("Connection", "", "Button1")
EndIf
EndFunc
Func Extract($fichier_output, $module) ;ajouter un paramètre $env pour ajouter l'environnement dans le nom du fichier xml sinon les fichiers sont écrasés quand le script passe à l'extraction de l'environnement suivant
If WinWait("SEE Access Control Administration Tool") Then
ControlClick("SEE Access Control Administration Tool", "", "ToolbarWindow321", "primary", 1, 399, 12)
WinWait("Select Roles Definitions XML File to Export")
ControlSetText("Select Roles Definitions XML File to Export", "", 1001, $fichier_output & $d & $m & $y & ".xml")
Sleep(2000)
Send("{TAB 5}{SPACE}")
Send(GUICtrlRead($Input1))
Send("{ENTER}")
Sleep(2000)
ControlClick("Select Roles Definitions XML File to Export", "", "Button1")
WinWait("Export Roles")
ControlFocus("Export Roles", "", "ComboBox1")
ControlSend("Export Roles", "", "ComboBox1", $module)
ControlClick("Export Roles", "", "Button1")
EndIf
EndFunc