773 lines
26 KiB
AutoIt
773 lines
26 KiB
AutoIt
|
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
|
|||
|
#AutoIt3Wrapper_Icon=YAWAT.ico
|
|||
|
#AutoIt3Wrapper_Outfile=C:\Users\tyleo\Nextcloud\Tyleo\Logiciels\YAWAT\yawa-toolbox-legacy32.exe
|
|||
|
#AutoIt3Wrapper_Outfile_x64=C:\Users\tyleo\Nextcloud\Tyleo\Logiciels\YAWAT\yawa-toolbox.exe
|
|||
|
#AutoIt3Wrapper_Compile_Both=y
|
|||
|
#AutoIt3Wrapper_Res_Comment=Yet Another Windows Admin Toolbox - By TyleoDev
|
|||
|
#AutoIt3Wrapper_Res_Description=Yet Another Windows Admin Toolbox - By TyleoDev
|
|||
|
#AutoIt3Wrapper_Res_Fileversion=1.0.0.18
|
|||
|
#AutoIt3Wrapper_Res_Fileversion_AutoIncrement=y
|
|||
|
#AutoIt3Wrapper_Res_ProductName=Yet Another Windows Admin Toolbox
|
|||
|
#AutoIt3Wrapper_Res_ProductVersion=1.0.0.0
|
|||
|
#AutoIt3Wrapper_Res_CompanyName=Tyleo Softwares
|
|||
|
#AutoIt3Wrapper_Res_LegalCopyright=Tyleo Softwares
|
|||
|
#AutoIt3Wrapper_Res_LegalTradeMarks=Tyleo Softwares
|
|||
|
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
|
|||
|
|
|||
|
; BeAdmin
|
|||
|
if IsAdmin() Then
|
|||
|
$BeAdmin = "(Admin Mode)"
|
|||
|
$AsAdmin = 1
|
|||
|
Else
|
|||
|
$BeAdmin = "(User Mode)"
|
|||
|
$AsAdmin = 0
|
|||
|
EndIf
|
|||
|
;
|
|||
|
|
|||
|
#include "MetroGUI-UDF\MetroGUI_UDF.au3"
|
|||
|
#include "Extensions.au3"
|
|||
|
|
|||
|
GetSoftDetails(@AutoItExe,"DEV")
|
|||
|
$SVer = "YAWAT " & $CurrentVersion
|
|||
|
|
|||
|
#cs
|
|||
|
|
|||
|
Tyleo Software Project Base v1
|
|||
|
Created With CNP and DevTools Base Folder
|
|||
|
|
|||
|
All Softwares created with this base are Free and Open Sourced.
|
|||
|
Join our Guilded Server ! https://www.guilded.gg/i/2DRlM7Mp
|
|||
|
|
|||
|
#ce
|
|||
|
|
|||
|
$ActiveUser = @UserName
|
|||
|
$ActiveProfile = @UserProfileDir
|
|||
|
$ActiveSysDir = @SystemDir
|
|||
|
$LocalHost = @ComputerName
|
|||
|
|
|||
|
#include <ButtonConstants.au3>
|
|||
|
#include <GUIConstantsEx.au3>
|
|||
|
#include <WindowsConstants.au3>
|
|||
|
#include <AutoItConstants.au3>
|
|||
|
#include <EditConstants.au3>
|
|||
|
|
|||
|
#Region ### START Koda GUI section ### Form=
|
|||
|
Global $GUI_Main_Frame = GUICreate($SVer & " | Logged in as " & $ActiveUser & " " & $BeAdmin, 651, 60)
|
|||
|
GUISetBkColor($CurrentAccent,$GUI_Main_Frame)
|
|||
|
GUISetFont(11.5,"","","Segoe UI",$GUI_Main_Frame)
|
|||
|
|
|||
|
; Systéme
|
|||
|
Global $Menu_Sys = GUICtrlCreateMenu("Systeme")
|
|||
|
Global $Menu_Sys_Run = GUICtrlCreateMenuItem("Executer (Systéme)",$Menu_Sys)
|
|||
|
Global $Menu_Sys_RunB = GUICtrlCreateMenuItem("Executer (Toolbox)",$Menu_Sys)
|
|||
|
GUICtrlCreateMenuItem("",$Menu_Sys)
|
|||
|
Global $Menu_Sys_CfgPanelOld = GUICtrlCreateMenuItem("Panneau de Configuration" & @TAB & "Original",$Menu_Sys)
|
|||
|
Global $Menu_Sys_CfgPanelNew = GUICtrlCreateMenuItem("Panneau de Configuration" & @TAB & "Next Gen",$Menu_Sys)
|
|||
|
GUICtrlCreateMenuItem("",$Menu_Sys)
|
|||
|
Global $Menu_Sys_AdmTools = GUICtrlCreateMenuItem("Outils d'Administration Windows",$Menu_Sys)
|
|||
|
GUICtrlCreateMenuItem("",$Menu_Sys)
|
|||
|
Global $Menu_Sys_SwitchtoAdmin = GUICtrlCreateMenuItem("Relancer YAWAT en Administrateur" & @TAB & "SWITCH",$Menu_Sys)
|
|||
|
|
|||
|
|
|||
|
; Consoles
|
|||
|
Global $Menu_Csl = GUICtrlCreateMenu("Consoles")
|
|||
|
Global $Menu_Csl_Tpm = GUICtrlCreateMenuItem("Trusted Platform Module" & @TAB & "MMC",$Menu_Csl)
|
|||
|
Global $Menu_Csl_Services = GUICtrlCreateMenuItem("Services" & @TAB & "MMC",$Menu_Csl)
|
|||
|
Global $Menu_Csl_Crt = GUICtrlCreateMenuItem("Certificats" & @TAB & "MMC",$Menu_Csl)
|
|||
|
Global $Menu_Csl_DiskMgmt = GUICtrlCreateMenuItem("Disques" & @TAB & "MMC",$Menu_Csl)
|
|||
|
Global $Menu_Csl_GPLocal = GUICtrlCreateMenuItem("Politique de Groupes" & @TAB & "MMC",$Menu_Csl)
|
|||
|
Global $Menu_Csl_GPSecur = GUICtrlCreateMenuItem("Politique Sécurité Locale" & @TAB & "MMC",$Menu_Csl)
|
|||
|
GUICtrlCreateMenuItem("",$Menu_Csl)
|
|||
|
Global $Menu_Csl_GPResul = GUICtrlCreateMenuItem("Politique Résultantes" & @TAB & "RSoP",$Menu_Csl)
|
|||
|
Global $Menu_Csl_Wfw = GUICtrlCreateMenuItem("Pare-Feu interne Windows" & @TAB & "Control",$Menu_Csl)
|
|||
|
|
|||
|
; Users & Groups
|
|||
|
Global $Menu_Ugr = GUICtrlCreateMenu("Utilisateurs && Groupes")
|
|||
|
Global $Menu_Ugr_Console = GUICtrlCreateMenuItem("Gestionnaire Utilisateurs et Groupes locaux",$Menu_Ugr)
|
|||
|
GUICtrlCreateMenuItem("",$Menu_Ugr)
|
|||
|
GUICtrlCreateMenuItem("" & @TAB & "Utilisateurs",$Menu_Ugr)
|
|||
|
GUICtrlSetState(-1,$GUI_DISABLE)
|
|||
|
Global $Menu_Ugr_Add = GUICtrlCreateMenuItem("Création d'un Utilisateur" & @TAB & "ADDUSR",$Menu_Ugr)
|
|||
|
Global $Menu_Ugr_Del = GUICtrlCreateMenuItem("Suppression d'un Utilisateur" & @TAB & "DELUSR",$Menu_Ugr)
|
|||
|
GUICtrlCreateMenuItem("",$Menu_Ugr)
|
|||
|
GUICtrlCreateMenuItem("" & @TAB & "Groupes",$Menu_Ugr)
|
|||
|
GUICtrlSetState(-1,$GUI_DISABLE)
|
|||
|
Global $Menu_Ugr_Grp_Add = GUICtrlCreateMenuItem("Création d'un Groupe" & @TAB & "ADDGRP",$Menu_Ugr)
|
|||
|
Global $Menu_Ugr_Grp_Del = GUICtrlCreateMenuItem("Suppression d'un Groupe" & @TAB & "DELGRP",$Menu_Ugr)
|
|||
|
GUICtrlCreateMenuItem("",$Menu_Ugr)
|
|||
|
GUICtrlCreateMenuItem("" & @TAB & "Gestion des Groupes",$Menu_Ugr)
|
|||
|
GUICtrlSetState(-1,$GUI_DISABLE)
|
|||
|
Global $Menu_Ugr_Grp_Man_AddUserTo = GUICtrlCreateMenuItem("Ajouter un utilisateur dans un groupe" & @TAB & "ADDUSERTOGRP",$Menu_Ugr)
|
|||
|
GUICtrlCreateMenuItem("",$Menu_Ugr)
|
|||
|
GUICtrlCreateMenuItem("" & @TAB & "Visualiser les infos",$Menu_Ugr)
|
|||
|
GUICtrlSetState(-1,$GUI_DISABLE)
|
|||
|
Global $Menu_Ugr_Grp_Man_ListUsers = GUICtrlCreateMenuItem("Voir la liste des utilisateurs d'un groupe",$Menu_Ugr)
|
|||
|
Global $Menu_Ugr_GetInfo = GUICtrlCreateMenuItem("Afficher les infos d'un utilisateur" & @TAB & "CURRENTUSER",$Menu_Ugr)
|
|||
|
Global $Menu_Ugr_GetInfo_Spec = GUICtrlCreateMenuItem("Afficher les infos d'un utilisateur" & @TAB & "SPECIFICUSER", $Menu_Ugr)
|
|||
|
|
|||
|
; Commandes
|
|||
|
Global $Menu_Cmd = GUICtrlCreateMenu("Commandes")
|
|||
|
Global $Menu_Cmd_SFC = GUICtrlCreateMenuItem("Lancer le Scan auto SFC avec Scannow" & @TAB & "SFCSCAN",$Menu_Cmd)
|
|||
|
Global $Menu_Cmd_DISM_Scan = GUICtrlCreateMenuItem("Scan DISM Santé du Systéme" & @TAB & "SCANDISMHEALTH",$Menu_Cmd)
|
|||
|
Global $Menu_Cmd_DISM_Rest = GUICtrlCreateMenuItem("Restaurer la santé du systéme - DISM Restore" & @TAB & "RESTOREDISMHEALTH",$Menu_Cmd)
|
|||
|
GUICtrlCreateMenuItem("",$Menu_Cmd)
|
|||
|
GUICtrlCreateMenuItem("" & @TAB & "Commandes de Vérification du Systéme de Fichiers",$Menu_Cmd)
|
|||
|
GUICtrlSetState(-1,$GUI_DISABLE)
|
|||
|
Global $Menu_Cmd_CHK_C = GUICtrlCreateMenuItem("Vérifier et Réparer le Systéme de Fichier sur C:\" & @TAB & "CHKFIXSYSTEMDRIVE",$Menu_Cmd)
|
|||
|
Global $Menu_Cmd_CHK_SPEC = GUICtrlCreateMenuItem("Vérifier et Réparer le Systéme de Fichier sur un lecteur défini" & @TAB & "CHKFIXSPECDRIVE",$Menu_Cmd)
|
|||
|
GUICtrlCreateMenuItem("",$Menu_Cmd)
|
|||
|
GUICtrlCreateMenuItem("" & @TAB & "Commandes de test Ping Spécifiques",$Menu_Cmd)
|
|||
|
GUICtrlSetState(-1,$GUI_DISABLE)
|
|||
|
Global $Menu_Cmd_PNG_HOST = GUICtrlCreateMenuItem("Ping vers l'Hôte (%COMPUTERNAME%)" & @TAB & "PINGHOST",$Menu_Cmd)
|
|||
|
Global $Menu_Cmd_PNG_LOCAL = GUICtrlCreateMenuItem("Ping vers LocalHost" & @TAB & "PINGLOCAL",$Menu_Cmd)
|
|||
|
Global $Menu_Cmd_PNG_INTERNALV6 = GUICtrlCreateMenuItem("Ping vers l'IPv6 Interne (::1)" & @TAB & "PINGV6",$Menu_Cmd)
|
|||
|
Global $Menu_Cmd_PNG_INTERNALV4 = GUICtrlCreateMenuItem("Ping vers l'IPv4 Interne (127.0.0.1)" & @TAB & "PINGV4",$Menu_Cmd)
|
|||
|
GUICtrlCreateMenuItem("",$Menu_Cmd)
|
|||
|
GUICtrlCreateMenuItem("" & @TAB & "Commandes Chocolatey",$Menu_Cmd)
|
|||
|
GUICtrlSetState(-1,$GUI_DISABLE)
|
|||
|
Global $Menu_Cmd_CHOCOSETUP = GUICtrlCreateMenuItem("Installer Chocolatey Packages Manager for Windows" & @TAB & "CHOCOSETUP",$Menu_Cmd)
|
|||
|
GUICtrlCreateMenuItem("--------------------- Paquets Choco ---------------------",$Menu_Cmd)
|
|||
|
GUICtrlSetState(-1,$GUI_DISABLE)
|
|||
|
Global $Menu_Cmd_CHOCOPKG_RECPACK = GUICtrlCreateMenuItem("Pack recommandé par Tyleo" & @TAB & "SETUPRECPACK",$Menu_Cmd)
|
|||
|
|
|||
|
|
|||
|
; Gestion DNS
|
|||
|
Global $Menu_DNS = GUICtrlCreateMenu("Gestion DNS")
|
|||
|
Global $Menu_DNS_Clear = GUICtrlCreateMenuItem("Nettoyage par FlushDNS" & @TAB & "FLUSHDNS",$Menu_DNS)
|
|||
|
Global $Menu_DNS_Console = GUICtrlCreateMenuItem("Console DNS Locale (Client)" & @TAB & "CSLDNS",$Menu_DNS)
|
|||
|
GUICtrlCreateMenuItem("",$Menu_DNS)
|
|||
|
GUICtrlCreateMenuItem("" & @TAB & "Informations DNS",$Menu_DNS)
|
|||
|
GUICtrlSetState(-1,$GUI_DISABLE)
|
|||
|
Global $Menu_DNS_GETINFO = GUICtrlCreateMenuItem("Voir la configuration DNS" & @TAB & "DNSGETINFO",$Menu_DNS)
|
|||
|
|
|||
|
; Gestion IP / NETWORK
|
|||
|
Global $Menu_NET = GUICtrlCreateMenu("Gestion IP")
|
|||
|
Global $Menu_NET_IPCFG_EASY = GUICtrlCreateMenuItem("Informations IP (Simple)" & @TAB & "IPCFGEASY",$Menu_NET)
|
|||
|
Global $Menu_NET_IPCFG_ADVC = GUICtrlCreateMenuItem("Informations IP (Avancé)" & @TAB & "IPCFGADVC",$Menu_NET)
|
|||
|
Global $Menu_NET_GetMacV = GUICtrlCreateMenuItem("Liste des MAC Physiques",$Menu_NET)
|
|||
|
GUICtrlCreateMenuItem("",$Menu_NET)
|
|||
|
GUICtrlCreateMenuItem("" & @TAB & "Actions Réseau",$Menu_NET)
|
|||
|
GUICtrlSetState(-1,$GUI_DISABLE)
|
|||
|
Global $Menu_NET_RenewIP = GUICtrlCreateMenuItem("Renouveler l'IP" & @TAB & "IPRENEW",$Menu_NET)
|
|||
|
Global $Menu_NET_ReleaseIP = GUICtrlCreateMenuItem("Relacher l'IP sans renouveler" & @TAB & "IPRELEASE",$Menu_NET)
|
|||
|
Global $Menu_NET_ReloadCard = GUICtrlCreateMenuItem("Relancer les Services Réseau" & @TAB & "NETCARDSERVICESRELOAD",$Menu_NET)
|
|||
|
|
|||
|
; Personnalisation
|
|||
|
Global $Menu_Per = GUICtrlCreateMenu("Personnalisation")
|
|||
|
Global $Menu_Per_RelColor = GUICtrlCreateMenuItem("Rafraichir Couleur d'Interface",$Menu_Per)
|
|||
|
|
|||
|
; Version & Devs
|
|||
|
Global $Menu_Ver = GUICtrlCreateMenu("A propos")
|
|||
|
Global $Menu_Ver_Dev = GUICtrlCreateMenuItem("Version && Devs",$Menu_Ver)
|
|||
|
Global $Menu_Ver_Site = GUICtrlCreateMenuItem("Site Internet" & @TAB & "https://tyleodev.fr",$Menu_Ver)
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Global $Button_HOST = GUICtrlCreateInput($LocalHost,5,5,280,32)
|
|||
|
GUICtrlSetColor(-1,0xFFFFFF)
|
|||
|
GUICtrlSetBkColor(-1,$CurrentAccent)
|
|||
|
GUICtrlSetFont(-1,13,900)
|
|||
|
Global $Button_PING = GUICtrlCreateButton("PING",287,5,50)
|
|||
|
GUICtrlSetColor(-1,0xFFFFFF)
|
|||
|
GUICtrlSetBkColor(-1,$CurrentAccent)
|
|||
|
GUICtrlSetCursor(-1,0)
|
|||
|
Global $Button_DNS = GUICtrlCreateButton("DNS",337,5,50)
|
|||
|
GUICtrlSetColor(-1,0xFFFFFF)
|
|||
|
GUICtrlSetBkColor(-1,$CurrentAccent)
|
|||
|
GUICtrlSetCursor(-1,0)
|
|||
|
Global $Button_WMIC = GUICtrlCreateButton("WMIC",387,5,50)
|
|||
|
GUICtrlSetColor(-1,0xFFFFFF)
|
|||
|
GUICtrlSetBkColor(-1,$CurrentAccent)
|
|||
|
GUICtrlSetCursor(-1,0)
|
|||
|
Global $Button_PSH = GUICtrlCreateButton("PSH",437,5,50)
|
|||
|
GUICtrlSetColor(-1,0xFFFFFF)
|
|||
|
GUICtrlSetBkColor(-1,$CurrentAccent)
|
|||
|
GUICtrlSetCursor(-1,0)
|
|||
|
Global $Button_CMD = GUICtrlCreateButton("CMD",487,5,50)
|
|||
|
GUICtrlSetColor(-1,0xFFFFFF)
|
|||
|
GUICtrlSetBkColor(-1,$CurrentAccent)
|
|||
|
GUICtrlSetCursor(-1,0)
|
|||
|
Global $Button_MMC = GUICtrlCreateButton("MMC",537,5,50)
|
|||
|
GUICtrlSetColor(-1,0xFFFFFF)
|
|||
|
GUICtrlSetBkColor(-1,$CurrentAccent)
|
|||
|
GUICtrlSetCursor(-1,0)
|
|||
|
Global $Button_NFO = GUICtrlCreateButton("INFO",587,5,50)
|
|||
|
GUICtrlSetColor(-1,0xFFFFFF)
|
|||
|
GUICtrlSetBkColor(-1,$CurrentAccent)
|
|||
|
GUICtrlSetCursor(-1,0)
|
|||
|
GUISetState(@SW_SHOW)
|
|||
|
#EndRegion ### END Koda GUI section ###
|
|||
|
|
|||
|
; Admin Features
|
|||
|
if $AsAdmin = 0 Then
|
|||
|
GUICtrlSetState($Menu_Cmd_CHK_C,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Menu_Cmd_CHK_SPEC,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Menu_Cmd_CHOCOPKG_RECPACK,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Menu_Cmd_CHOCOSETUP,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Menu_Cmd_DISM_Rest,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Menu_Cmd_DISM_Scan,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Menu_Cmd_SFC,$GUI_DISABLE)
|
|||
|
;---------------------------------------------------------------
|
|||
|
GUICtrlSetState($Menu_Ugr_Add,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Menu_Ugr_Del,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Menu_Ugr_Grp_Add,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Menu_Ugr_Grp_Del,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Menu_Ugr_Grp_Man_AddUserTo,$GUI_DISABLE)
|
|||
|
;---------------------------------------------------------------
|
|||
|
GUICtrlSetState($Menu_NET_ReleaseIP,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Menu_NET_ReloadCard,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Menu_NET_RenewIP,$GUI_DISABLE)
|
|||
|
;---------------------------------------------------------------
|
|||
|
GUICtrlSetState($Menu_DNS_Console,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Menu_DNS_Clear,$GUI_DISABLE)
|
|||
|
;Boutons--------------------------------------------------------
|
|||
|
GUICtrlSetState($Button_HOST,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Button_MMC,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Button_WMIC,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Button_PSH,$GUI_DISABLE)
|
|||
|
GUICtrlSetState($Button_DNS,$GUI_DISABLE)
|
|||
|
Else
|
|||
|
GUICtrlSetState($Menu_Sys_SwitchtoAdmin,$GUI_DISABLE)
|
|||
|
GUICtrlSetData($Menu_Sys_SwitchtoAdmin,"Déjà connecté en Administrateur" & @TAB & "DISABLED")
|
|||
|
EndIf
|
|||
|
|
|||
|
While 1
|
|||
|
$nMsg = GUIGetMsg()
|
|||
|
Switch $nMsg
|
|||
|
Case $GUI_EVENT_CLOSE
|
|||
|
Exit
|
|||
|
Case $Menu_Ver_Dev
|
|||
|
TyleoAbout("Yet.Another.Windows.Admin.Toolbox " & $SVer)
|
|||
|
Case $Menu_Ver_Site
|
|||
|
TyleoWebsite()
|
|||
|
Case $Menu_Per_RelColor
|
|||
|
ColorReload()
|
|||
|
GUISetBkColor($CurrentAccent,$GUI_Main_Frame)
|
|||
|
|
|||
|
; Admin Switch
|
|||
|
Case $Menu_Sys_SwitchtoAdmin
|
|||
|
If @Compiled Then
|
|||
|
ShellExecute(@AutoItExe, '', '', 'runas')
|
|||
|
Else
|
|||
|
ShellExecute(@AutoItExe, '"' & @ScriptFullPath & '"', '', 'runas')
|
|||
|
EndIf
|
|||
|
if @Error Then
|
|||
|
; Keep Running as User
|
|||
|
Else
|
|||
|
exit(0)
|
|||
|
EndIf
|
|||
|
|
|||
|
|
|||
|
; Fonctions Actives (Boutons)
|
|||
|
Case $Button_PING
|
|||
|
$InHOST = GUICtrlRead($Button_HOST)
|
|||
|
$Nb = InputBox("Nombre de ping pour le test","Choisir le nombre de ping a envoyer. Recommandation : Limitez vous a un maximum de 150 echo (avant Flood)","5")
|
|||
|
WaitMsg()
|
|||
|
If ($Nb = "") Then
|
|||
|
MsgBox(0+16,"Erreur !","Un nombre de ping est nécessaire.")
|
|||
|
Else
|
|||
|
$OutPING = Run("ping -n " & $Nb & " " & $InHOST,@ScriptDir,@SW_HIDE,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($OutPING)
|
|||
|
$OutTrPING = StdoutRead($OutPING)
|
|||
|
ClipPut($OutTrPING)
|
|||
|
MsgBox(0,"Resultats du Ping - Données envoyées dans votre CTRL+V / +X",$OutTrPING)
|
|||
|
EndIf
|
|||
|
|
|||
|
Case $Button_DNS
|
|||
|
$InHOST = GUICtrlRead($Button_HOST)
|
|||
|
$OutDNS = Run("nslookup " & $InHOST,@ScriptDir, @SW_HIDE, $STDOUT_CHILD)
|
|||
|
ProcessWaitClose($OutDNS)
|
|||
|
$OutTrDNS = StdoutRead($OutDNS)
|
|||
|
ClipPut($OutTrDNS)
|
|||
|
MsgBox(0,"Resultat NSLookup - Données envoyées dans votre CTRL+V / +X",$OutTrDNS)
|
|||
|
|
|||
|
Case $Button_NFO
|
|||
|
WaitMsg()
|
|||
|
$OutNFO = Run("systeminfo",@ScriptDir,@SW_HIDE,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($OutNFO)
|
|||
|
$OutTrNFO = StdoutRead($OutNFO)
|
|||
|
ClipPut($OutTrNFO)
|
|||
|
MsgBox(0,"System Informations (RAW) - Données envoyées dans votre CTRL+V / +X",$OutTrNFO)
|
|||
|
|
|||
|
Case $Button_CMD
|
|||
|
Run("cmd")
|
|||
|
|
|||
|
Case $Button_PSH
|
|||
|
Run("powershell")
|
|||
|
|
|||
|
Case $Button_WMIC
|
|||
|
Run("wmic")
|
|||
|
|
|||
|
Case $Button_MMC
|
|||
|
ShellExecute("mmc")
|
|||
|
|
|||
|
;Fonctions Passives (Menus)
|
|||
|
;Source Shell (10/11) : https://winaero.com/windows-11-shell-commands-the-complete-list/
|
|||
|
;Source Win11 (MSCmd) : https://techzoneonline.com/windows-11-run-commands-list/#Windows-11-Settings---System
|
|||
|
|
|||
|
Case $Menu_Sys_Run
|
|||
|
ShellExecute("shell:::{2559a1f3-21d7-11d4-bdaf-00c04f60b9f0}")
|
|||
|
Case $Menu_Sys_RunB
|
|||
|
$TARGET_Program = InputBox("Run","Type the name of a program to run (Will be run in current mode)","","",378, 224)
|
|||
|
Run($TARGET_Program)
|
|||
|
; 378, 224
|
|||
|
Case $Menu_Sys_CfgPanelOld
|
|||
|
ShellExecute("shell:::{5399E694-6CE5-4D6C-8FCE-1D8870FDCBA0}")
|
|||
|
Case $Menu_Sys_CfgPanelNew
|
|||
|
ShellExecute("ms-settings:")
|
|||
|
Case $Menu_Sys_AdmTools
|
|||
|
ShellExecute("shell:Common Administrative Tools")
|
|||
|
|
|||
|
; Fonctions Passives - Actions CMD
|
|||
|
Case $Menu_Cmd_CHK_C
|
|||
|
WaitMsg()
|
|||
|
$oRun = Run("chkdsk /f", "", @SW_SHOW,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($oRun)
|
|||
|
$oTrRun = StdoutRead($oRun)
|
|||
|
ClipPut($oTrRun)
|
|||
|
MsgBox(0,"ChkDsk Resultats",$oTrRun)
|
|||
|
|
|||
|
Case $Menu_Cmd_CHK_SPEC
|
|||
|
WaitMsg()
|
|||
|
$SelDrive = InputBox("Disque Personnalisé","Disque ?","C")
|
|||
|
$pRun = Run("chkdsk /f " & $SelDrive, "", @SW_SHOW,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($pRun)
|
|||
|
$pTrRun = StdoutRead($pRun)
|
|||
|
ClipPut($pTrRun)
|
|||
|
MsgBox(0,"ChkDsk Resultats",$pTrRun)
|
|||
|
|
|||
|
Case $Menu_Cmd_CHOCOSETUP
|
|||
|
$ChocoGlobal = "feature enable -n=allowGlobalConfirmation"
|
|||
|
$ChocoCMD = "Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))"
|
|||
|
RunWait("powershell" & " " & $ChocoCMD)
|
|||
|
RunWait("choco " & " " & $ChocoGlobal)
|
|||
|
|
|||
|
Case $Menu_Cmd_CHOCOPKG_RECPACK
|
|||
|
Run("choco install curl wget git")
|
|||
|
|
|||
|
Case $Menu_Cmd_DISM_Scan
|
|||
|
WaitMsg()
|
|||
|
$dismcRun = Run("DISM /Online /Cleanup-Image /ScanHealth","", @SW_SHOW,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($dismcRun)
|
|||
|
$dismcTrRun = StdoutRead($dismcRun)
|
|||
|
ClipPut($dismcTrRun)
|
|||
|
MsgBox(0,"SFC Resultats",$dismcTrRun)
|
|||
|
|
|||
|
Case $Menu_Cmd_DISM_Rest
|
|||
|
WaitMsg()
|
|||
|
$dismhRun = Run("DISM /Online /Cleanup-Image /RestoreHealth","", @SW_SHOW,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($dismhRun)
|
|||
|
$dismhTrRun = StdoutRead($dismhRun)
|
|||
|
ClipPut($dismhTrRun)
|
|||
|
MsgBox(0,"SFC Resultats",$dismhTrRun)
|
|||
|
|
|||
|
Case $Menu_Cmd_SFC
|
|||
|
WaitMsg()
|
|||
|
$sfcRun = Run("sfc /scannow","", @SW_SHOW,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($sfcRun)
|
|||
|
$sfcTrRun = StdoutRead($sfcRun)
|
|||
|
ClipPut($sfcTrRun)
|
|||
|
MsgBox(0,"SFC Resultats",$sfcTrRun)
|
|||
|
|
|||
|
Case $Menu_Cmd_PNG_LOCAL
|
|||
|
WaitMsg()
|
|||
|
$pnglRun = Run("ping localhost","", @SW_HIDE,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($pnglRun)
|
|||
|
$pTrRun = StdoutRead($pnglRun)
|
|||
|
ClipPut($pTrRun)
|
|||
|
MsgBox(0,"Ping Resultats",$pTrRun)
|
|||
|
|
|||
|
Case $Menu_Cmd_PNG_HOST
|
|||
|
WaitMsg()
|
|||
|
$p2nglRun = Run("ping " & @ComputerName,"", @SW_HIDE,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($p2nglRun)
|
|||
|
$p2TrRun = StdoutRead($p2nglRun)
|
|||
|
ClipPut($p2TrRun)
|
|||
|
MsgBox(0,"Ping Resultats",$p2TrRun)
|
|||
|
|
|||
|
Case $Menu_Cmd_PNG_INTERNALV4
|
|||
|
WaitMsg()
|
|||
|
$p3nglRun = Run("ping 127.0.0.1","", @SW_HIDE,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($p3nglRun)
|
|||
|
$p3TrRun = StdoutRead($p3nglRun)
|
|||
|
ClipPut($p3TrRun)
|
|||
|
MsgBox(0,"Ping Resultats",$p3TrRun)
|
|||
|
|
|||
|
Case $Menu_Cmd_PNG_INTERNALV6
|
|||
|
WaitMsg()
|
|||
|
$p4nglRun = Run("ping ::1","", @SW_HIDE,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($p4nglRun)
|
|||
|
$p4TrRun = StdoutRead($p4nglRun)
|
|||
|
ClipPut($p4TrRun)
|
|||
|
MsgBox(0,"Ping Resultats",$p4TrRun)
|
|||
|
|
|||
|
; NET
|
|||
|
Case $Menu_NET_IPCFG_EASY
|
|||
|
$ipcfgeRun = Run("ipconfig", "", @SW_HIDE, $STDOUT_CHILD)
|
|||
|
ProcessWaitClose($ipcfgeRun)
|
|||
|
$ipcfgeTrRun = StdoutRead($ipcfgeRun)
|
|||
|
ClipPut($ipcfgeTrRun)
|
|||
|
MsgBox(0, "Configuration IP Simple", $ipcfgeTrRun)
|
|||
|
|
|||
|
Case $Menu_NET_IPCFG_ADVC
|
|||
|
$ipcfgaRun = Run("ipconfig /all", "", @SW_HIDE, $STDOUT_CHILD)
|
|||
|
ProcessWaitClose($ipcfgaRun)
|
|||
|
$ipcfgaTrRun = StdoutRead($ipcfgaRun)
|
|||
|
ClipPut($ipcfgaTrRun)
|
|||
|
MsgBox(0, "Configuration IP Avancée", $ipcfgaTrRun)
|
|||
|
|
|||
|
Case $Menu_NET_ReleaseIP
|
|||
|
$iprlRun = Run("ipconfig /release","",@SW_HIDE,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($iprlRun)
|
|||
|
$iprlTrRun = StdoutRead($iprlRun)
|
|||
|
ClipPut($iprlTrRun)
|
|||
|
MsgBox(0,"IP Relachée", $iprlTrRun)
|
|||
|
|
|||
|
Case $Menu_NET_RenewIP
|
|||
|
$iprrRun = Run("ipconfig /renew","",@SW_HIDE,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($iprrRun)
|
|||
|
$iprrTrRun = StdoutRead($iprrRun)
|
|||
|
ClipPut($iprrTrRun)
|
|||
|
MsgBox(0,"IP Relachée", $iprrTrRun)
|
|||
|
|
|||
|
Case $Menu_NET_ReloadCard
|
|||
|
RunWait("net stop WlanSvc", "", @SW_HIDE)
|
|||
|
RunWait("sc WlanSvc start", "", @SW_HIDE)
|
|||
|
RunWait("net stop WwanSvc", "", @SW_HIDE)
|
|||
|
RunWait("sc WwanSvc start", "", @SW_HIDE)
|
|||
|
RunWait("net stop IpxlatCfgSvc", "", @SW_HIDE)
|
|||
|
RunWait("sc IpxlatCfgSvc start", "", @SW_HIDE)
|
|||
|
RunWait("net stop NetSetupSvc", "", @SW_HIDE)
|
|||
|
RunWait("sc NetSetupSvc start", "", @SW_HIDE)
|
|||
|
RunWait("net stop NcbService", "", @SW_HIDE)
|
|||
|
RunWait("sc NcbService start", "", @SW_HIDE)
|
|||
|
|
|||
|
Case $Menu_NET_GetMacV
|
|||
|
$getmacrun = Run("getmac /FO LIST /V","",@SW_HIDE,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($getmacrun)
|
|||
|
$macdata = StdoutRead($getmacrun)
|
|||
|
ClipPut($macdata)
|
|||
|
MsgBox(0,"Liste des MAC Physiques",$macdata)
|
|||
|
|
|||
|
; DNS
|
|||
|
Case $Menu_DNS_Clear
|
|||
|
$dnsfRun = Run("ipconfig /flushdns","",@SW_HIDE,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($dnsfRun)
|
|||
|
$dnsfTrRun = StdoutRead($dnsfRun)
|
|||
|
ClipPut($dnsfTrRun)
|
|||
|
MsgBox(0,"DNS Flush", $dnsfTrRun)
|
|||
|
|
|||
|
Case $Menu_DNS_Console
|
|||
|
LaunchShell("dnsmgmt.msc")
|
|||
|
|
|||
|
Case $Menu_DNS_GETINFO
|
|||
|
$dnsservers = Run("powershell Get-DnsClientServerAddress | Select-Object –ExpandProperty ServerAddresses","",@SW_HIDE,$STDOUT_CHILD)
|
|||
|
$dnsserversTr = StdoutRead($dnsservers)
|
|||
|
ProcessWaitClose($dnsservers)
|
|||
|
ClipPut($dnsserversTr)
|
|||
|
MsgBox(0,"Serveurs DNS",$dnsserversTr)
|
|||
|
|
|||
|
; UGR
|
|||
|
Case $Menu_Ugr_Console
|
|||
|
ShellExecute("lusrmgr.msc")
|
|||
|
|
|||
|
Case $Menu_Ugr_Add
|
|||
|
CreateUser()
|
|||
|
|
|||
|
Case $Menu_Ugr_Del
|
|||
|
DeleteUser()
|
|||
|
|
|||
|
Case $Menu_Ugr_Grp_Add
|
|||
|
CreateGroup()
|
|||
|
|
|||
|
Case $Menu_Ugr_Grp_Del
|
|||
|
DeleteGroup()
|
|||
|
|
|||
|
Case $Menu_Ugr_GetInfo
|
|||
|
$CHX = 0
|
|||
|
$UsernameSel = @UserName
|
|||
|
$CHX = MsgBox(4,"Mode","Oui - Mode Simple (par défaut)" & @CRLF & "Non - Mode Avancé" & @CRLF & " " & @CRLF & "Mode par défaut dans 5s",5)
|
|||
|
; GetUserInfo($UsernameSel)
|
|||
|
if $CHX = 6 OR $CHX = "-1" Then
|
|||
|
GetUserInfo($UsernameSel)
|
|||
|
ElseIf $CHX = 7 Then
|
|||
|
GetUserInfoEx($UsernameSel)
|
|||
|
EndIf
|
|||
|
|
|||
|
Case $Menu_Ugr_GetInfo_Spec
|
|||
|
$CHX = 0
|
|||
|
$UsernameSel = InputBox("Nom d'utilisateur","Saisir le nom d'utilisateur LDAP (username)")
|
|||
|
$CHX = MsgBox(4,"Mode","Oui - Mode Simple (par défaut)" & @CRLF & "Non - Mode Avancé" & @CRLF & " " & @CRLF & "Mode par défaut dans 5s",5)
|
|||
|
; GetUserInfo($UsernameSel)
|
|||
|
if $CHX = 6 OR $CHX = "-1" Then
|
|||
|
GetUserInfo($UsernameSel)
|
|||
|
ElseIf $CHX = 7 Then
|
|||
|
GetUserInfoEx($UsernameSel)
|
|||
|
EndIf
|
|||
|
|
|||
|
Case $Menu_Ugr_Grp_Man_AddUserTo
|
|||
|
|
|||
|
Case $Menu_Ugr_Grp_Man_ListUsers
|
|||
|
|
|||
|
; CSL
|
|||
|
Case $Menu_Csl_DiskMgmt
|
|||
|
LaunchShell("diskmgmt.msc")
|
|||
|
Case $Menu_Csl_Crt
|
|||
|
LaunchShell("certmgr.msc")
|
|||
|
Case $Menu_Csl_GPLocal
|
|||
|
LaunchShell("gpedit.msc")
|
|||
|
Case $Menu_Csl_GPResul
|
|||
|
|
|||
|
Case $Menu_Csl_GPSecur
|
|||
|
|
|||
|
Case $Menu_Csl_Services
|
|||
|
LaunchShell("services.msc")
|
|||
|
Case $Menu_Csl_Tpm
|
|||
|
LaunchShell("tpm.msc")
|
|||
|
|
|||
|
Case $Menu_Csl_Wfw
|
|||
|
LaunchShell("wf.msc")
|
|||
|
|
|||
|
EndSwitch
|
|||
|
WEnd
|
|||
|
|
|||
|
Func WaitMsg()
|
|||
|
MsgBox(0,"Veuillez patienter","L'opération peut prendre quelques instants." & @CRLF & "Le logiciel n'est pas utilisable pendant ce laps de temps.",2)
|
|||
|
EndFunc
|
|||
|
|
|||
|
;------------------------------------ Manage Users ------------------------------------
|
|||
|
|
|||
|
Func CreateUser()
|
|||
|
HideMain()
|
|||
|
Local $GUI_CreateUser = GUICreate("",350,180)
|
|||
|
GUISetFont(14,100,"","Segoe UI",$GUI_CreateUser)
|
|||
|
GUISetBkColor($CurrentAccent)
|
|||
|
Local $UserLB = GUICtrlCreateLabel("Username :",5,8)
|
|||
|
GUICtrlSetColor(-1,0xFFFFFF)
|
|||
|
Local $UserID = GUICtrlCreateInput("",100,5,247,30)
|
|||
|
GUICtrlSetBkColor(-1,$CurrentAccent)
|
|||
|
GUICtrlSetColor(-1,0xFFFFFF)
|
|||
|
Local $PassLB = GUICtrlCreateLabel("Password :",5,43)
|
|||
|
GUICtrlSetColor(-1,0xFFFFFF)
|
|||
|
Local $PassID = GUICtrlCreateInput("123+aze@#s",100,40,247,30)
|
|||
|
GUICtrlSetBkColor(-1,$CurrentAccent)
|
|||
|
GUICtrlSetColor(-1,0xFFFFFF)
|
|||
|
Local $AsAdm = GUICtrlCreateCheckbox("Accés Administrateur",5,80,380,30)
|
|||
|
GUICtrlSetBkColor(-1,0xFFFFFF)
|
|||
|
Local $AsRdp = GUICtrlCreateCheckbox("Accés Remote Desktop",5,110,380,30)
|
|||
|
GUICtrlSetBkColor(-1,0xFFFFFF)
|
|||
|
|
|||
|
Local $Cancel = GUICtrlCreateButton("Annuler",5,142,165,35)
|
|||
|
GUICtrlSetCursor(-1,0)
|
|||
|
|
|||
|
Local $Create = GUICtrlCreateButton("Créer",180,142,165,35)
|
|||
|
GUICtrlSetCursor(-1,0)
|
|||
|
|
|||
|
GUISetState(@SW_SHOW,$GUI_CreateUser)
|
|||
|
|
|||
|
While 1
|
|||
|
$lMsg = GUIGetMsg()
|
|||
|
Switch $lMsg
|
|||
|
Case $GUI_EVENT_CLOSE,$Cancel
|
|||
|
CloseGUI($GUI_CreateUser)
|
|||
|
ExitLoop
|
|||
|
Case $Create
|
|||
|
$usr = GUICtrlRead($UserID)
|
|||
|
$pss = GUICtrlRead($PassID)
|
|||
|
$adm = GUICtrlRead($AsAdm)
|
|||
|
if $adm = $GUI_CHECKED Then
|
|||
|
$param_adm = 1
|
|||
|
$settingadm = " Oui"
|
|||
|
Else
|
|||
|
$param_adm = 0
|
|||
|
$settingadm = " Non"
|
|||
|
EndIf
|
|||
|
$rdp = GUICtrlRead($AsRdp)
|
|||
|
if $rdp = $GUI_CHECKED Then
|
|||
|
$param_rdp = 1
|
|||
|
$settingrdp = " Oui"
|
|||
|
Else
|
|||
|
$param_rdp = 0
|
|||
|
$settingrdp = " Non"
|
|||
|
EndIf
|
|||
|
ClipPut("Username : " & $usr & @CRLF & "Password : " & $pss & @CRLF & "Admin :" & $settingadm & @CRLF & "RDP :" & $settingrdp)
|
|||
|
MsgBox(4,"Définition du nouvel utilisateur","Username : " & $usr & @CRLF & "Password : " & $pss & @CRLF & "Admin :" & $settingadm & @CRLF & "RDP :" & $settingrdp)
|
|||
|
; User Creation
|
|||
|
Run("Net User " & $usr & " " & $pss & " /add","",@SW_SHOW)
|
|||
|
|
|||
|
;Admin
|
|||
|
if ($param_adm = 1) Then
|
|||
|
Sleep(1200)
|
|||
|
$edit_grp_run1 = Run('net localgroup "Administrators" ' & $usr & ' /add',"",@SW_HIDE,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($edit_grp_run1)
|
|||
|
$grp_tr1 = StdoutRead($edit_grp_run1)
|
|||
|
ConsoleWrite($grp_tr1)
|
|||
|
EndIf
|
|||
|
|
|||
|
;Rdp
|
|||
|
if ($param_rdp = 1) Then
|
|||
|
Sleep(1200)
|
|||
|
$edit_grp_run2 = Run('net localgroup' & ' "Remote Desktop Users" ' & $usr & ' /add',"",@SW_HIDE,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($edit_grp_run2)
|
|||
|
$grp_tr2 = StdoutRead($edit_grp_run2)
|
|||
|
ConsoleWrite($grp_tr2)
|
|||
|
EndIf
|
|||
|
$lMsg = 0
|
|||
|
$param_adm = 0
|
|||
|
$param_rdp = 0
|
|||
|
$settingadm = 0
|
|||
|
$settingrdp = 0
|
|||
|
$usr = 0
|
|||
|
$pss = 0
|
|||
|
$adm = 0
|
|||
|
$rdp = 0
|
|||
|
CloseGUI($GUI_CreateUser)
|
|||
|
;---------------
|
|||
|
EndSwitch
|
|||
|
WEnd
|
|||
|
EndFunc
|
|||
|
|
|||
|
Func GetUserInfo($UsernameID)
|
|||
|
$GIRun = Run("powershell Get-ADUser " & $UsernameID,"",@SW_HIDE,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($GIRun)
|
|||
|
$GIRunTR = StdoutRead($GIRun)
|
|||
|
ClipPut($GIRunTR)
|
|||
|
MsgBox(0,"Information Utilisateur " & $UsernameID,$GIRunTR)
|
|||
|
EndFunc
|
|||
|
|
|||
|
Func GetUserInfoEx($UsernameID)
|
|||
|
$GIRun = Run("powershell Get-ADUser " & $UsernameID & " -Properties *","",@SW_HIDE,$STDOUT_CHILD)
|
|||
|
ProcessWaitClose($GIRun)
|
|||
|
$GIRunTR = StdoutRead($GIRun)
|
|||
|
ClipPut($GIRunTR)
|
|||
|
MsgBox(0,"Information Utilisateur - Mode Etendue de données - " & $UsernameID,$GIRunTR)
|
|||
|
EndFunc
|
|||
|
|
|||
|
Func DeleteUser()
|
|||
|
|
|||
|
EndFunc
|
|||
|
|
|||
|
|
|||
|
Func CreateGroup()
|
|||
|
|
|||
|
EndFunc
|
|||
|
|
|||
|
|
|||
|
Func DeleteGroup()
|
|||
|
|
|||
|
EndFunc
|
|||
|
|
|||
|
Func LaunchProgram($program)
|
|||
|
Run($program,"",@SW_SHOW)
|
|||
|
EndFunc
|
|||
|
|
|||
|
Func LaunchShell($shellcommand)
|
|||
|
ShellExecute($shellcommand)
|
|||
|
EndFunc
|
|||
|
|
|||
|
;BuiltinUsersProtection
|
|||
|
Func UserProtectCheck($UserID)
|
|||
|
if $UserID = "Administrator" OR $UserID = "Administrateur" Then
|
|||
|
$IsAdministrator = 1
|
|||
|
EndIf
|
|||
|
EndFunc
|
|||
|
;--------------------------------------------------------------------------------------
|
|||
|
|
|||
|
Func CloseGUI($GUI)
|
|||
|
GUISetState(@SW_HIDE,$GUI)
|
|||
|
GUISetState(@SW_SHOW,$GUI_Main_Frame)
|
|||
|
EndFunc
|
|||
|
|
|||
|
Func HideMain()
|
|||
|
GUISetState(@SW_HIDE,$GUI_Main_Frame)
|
|||
|
EndFunc
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|