Page 1 sur 1
[Ex] Activer\Désactiver les lecteurs de masse
Posté : dim. 07 févr. 2010 13:46
par aikiox
Voici un script qui permet d'activer ou désactiver les Clé USB.
► Afficher le texte
Code : Tout sélectionner
#include <Constants.au3>
#include <GUIConstants.au3>
Opt("GUIOnEventMode", 1)
GUICreate("Péripherique USB", 300, 80, -1, -1,-1,0x00000080)
GUICtrlCreateLabel("Voulez-vous activer ou désactiver les peripherique de masse?", 5, 10, 300, 17)
$activer = GUICtrlCreateButton("Activer USB",60,50,90)
$desactiver = GUICtrlCreateButton("Désactiver USB",160,50,90)
GUICtrlSetOnEvent($activer,"active")
GUICtrlSetOnEvent($desactiver,"desactiv")
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUISetState(@SW_SHOW)
While 1
sleep(100)
Wend
func desactiv()
$desactiver = Run(@ComSpec & " /c " & 'reg add HKLM\system\CURRENTCONTROLSET\SERVICES\USBSTOR /V start /t REG_DWORD /d 4 /f', "", @SW_HIDE) ; désactive
Exit
EndFunc
Func active()
$activer = Run(@ComSpec & " /c " & 'reg add HKLM\system\CURRENTCONTROLSET\SERVICES\USBSTOR /V start /t REG_DWORD /d 3 /f', "", @SW_HIDE) ; active
Exit
EndFunc
Func CLOSEClicked()
exit
EndFunc[/spoiler]
Cordialement
Romain
Re: [Ex] Activer\Désactiver les lecteurs de masse
Posté : dim. 07 févr. 2010 19:11
par arrkhan
Merci de votre partage, petite question, pourquoi ne pas utiliser les "regwrite" d'autoit plutôt que les "reg add" du dos ?
Re: [Ex] Activer\Désactiver les lecteurs de masse
Posté : lun. 08 févr. 2010 08:30
par aikiox
Car j'en savais pas l'existance

Je n'arrive pas a editer la base de registre sur les PC's seven. Penses-tu qu'avec ce que tu m'as donner cela fonctionnera?
Cordialement
Romain
Re: [Ex] Activer\Désactiver les lecteurs de masse
Posté : lun. 08 févr. 2010 19:18
par arrkhan
aucune idée, je ne dispose pas de machine sous seven pour tester.
Re: [Ex] Activer\Désactiver les lecteurs de masse
Posté : mar. 01 juin 2010 00:12
par aikiox
Bonjour,
J'ai modifié mon code un chouillat en ecoutant tes conseils. Pour pouvoir le faire fonctionner sous seven il fallais :
'#RequireAdmin"
Le script permet de activer/desactiver les peripheriques de masse de son ordinateur ou distant (Domaine).
Voici le code :
► Afficher le texte
Code : Tout sélectionner
#include <Constants.au3>
#include <GUIConstants.au3>
#RequireAdmin
$computer = InputBox("Ordinateur", "Veuillez saisir le nom de l'ordinateur")
Opt("GUIOnEventMode", 1)
GUICreate("Péripherique USB", 300, 80)
GUICtrlCreateLabel("Voulez-vous activer ou désactiver les peripheriques de masse?", 2, 10, 300, 17)
$activer = GUICtrlCreateButton("Activer USB",60,50,90)
$desactiver = GUICtrlCreateButton("Désactiver USB",160,50,90)
GUICtrlSetOnEvent($activer,"active")
GUICtrlSetOnEvent($desactiver,"desactiv")
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUISetState(@SW_SHOW)
While 1
sleep(100)
Wend
func desactiv()
$resultat = RegWrite('\\' & $computer & '\HKLM\SYSTEM\CurrentControlSet\services\USBSTOR\','Start','REG_DWORD',4)
if $computer = "" Then
$computer = "ton ordinateur."
EndIf
if $resultat = 1 Then
msgbox(0,"Reussi","Les peripheriques sont DESACTIVE sur " &$computer)
ElseIf @error = 2 Then
MsgBox(64, "Erreur", "La clé n'a pas pu etre modifié sur "&$computer)
Else
msgbox(0,"erreur","erreur inconnu")
EndIf
Exit
EndFunc
Func active()
$resultat = RegWrite('\\' & $computer & '\HKLM\SYSTEM\CurrentControlSet\services\USBSTOR\','Start','REG_DWORD',3)
if $computer = "" Then
$computer = "ton ordinateur."
EndIf
if $resultat = 1 Then
msgbox(0,"Reussi","Les peripheriques sont ACTIVE sur "&$computer)
ElseIf @error = 2 Then
MsgBox(64, "Erreur", "La clé n'a pas pu etre modifié sur "&$computer)
Else
msgbox(0,"erreur","erreur inconnu")
EndIf
Exit
EndFunc
Func CLOSEClicked()
exit
EndFunc
Cordialement
Romain
Re: [Ex] Activer\Désactiver les lecteurs de masse
Posté : mer. 02 juin 2010 11:17
par aikiox
Bonjour,
J'ai modifié le code. Sous Seven, il fonctionne mais il faut activer le service sur le poste ou l'on execute le script et le poste client. le service se nomme "Remote Registry"
► Afficher le texte
Code : Tout sélectionner
#RequireAdmin
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_icon=crystal-baw-crystalxp.net-fr-574\Ico\hardware\clé usb.ico
#AutoIt3Wrapper_outfile=Cle USB.exe
#AutoIt3Wrapper_UseX64=n
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <Constants.au3>
#include <GUIConstants.au3>
$computer = InputBox("Ordinateur", "Veuillez saisir le nom de l'ordinateur")
Opt("GUIOnEventMode", 1)
GUICreate("Péripherique USB", 300, 80)
GUICtrlCreateLabel("Voulez-vous activer ou désactiver les peripheriques de masse?", 2, 10, 300, 17)
$activer = GUICtrlCreateButton("Activer USB",60,50,90)
$desactiver = GUICtrlCreateButton("Désactiver USB",160,50,90)
GUICtrlSetOnEvent($activer,"active")
GUICtrlSetOnEvent($desactiver,"desactiv")
GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked")
GUISetState(@SW_SHOW)
While 1
sleep(100)
Wend
func desactiv()
$resultat = RegWrite('\\' & $computer & '\HKLM\SYSTEM\CurrentControlSet\services\USBSTOR\','Start','REG_DWORD',4)
if $computer = "" Then
$computer = "ton ordinateur."
EndIf
if $resultat = 1 Then
msgbox(0,"Reussi","Les peripheriques sont DESACTIVE sur " &$computer)
ElseIf @error = 2 Then
MsgBox(64, "Erreur", "La clé n'a pas pu etre modifié sur "&$computer)
ElseIf @error = 3 Then
MsgBox(64, "Erreur", "Impossible de se connecter au registre distant : "&$computer)
Else
msgbox(0,"erreur","erreur inconnu")
EndIf
Exit
EndFunc
Func active()
$resultat = RegWrite('\\' & $computer & '\HKLM\SYSTEM\CurrentControlSet\services\USBSTOR\','Start','REG_DWORD',3)
if $computer = "" Then
$computer = "ton ordinateur."
EndIf
if $resultat = 1 Then
msgbox(0,"Reussi","Les peripheriques sont ACTIVE sur "&$computer)
ElseIf @error = 2 Then
MsgBox(64, "Erreur", "La clé n'a pas pu etre modifié sur "&$computer)
ElseIf @error = 3 Then
MsgBox(64, "Erreur", "Impossible de se connecter au registre distant : "&$computer)
Else
msgbox(0,"erreur","erreur inconnu")
EndIf
Exit
EndFunc
Func CLOSEClicked()
exit
EndFunc
Cordialement
Romain