Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Vérifier si un USB/CD/DVD connectés a été oublié en quittant windows

2 réponses
Avatar
hackoo
Bonjour,
Nous avons beaucoup d'utilisateurs qui oublient ses Flash usb branchés ou des CD/DVD insérés ou des cartes mémoires dans les lecteurs de carte usb dans des lieux publiques(cybercafés) .Donc je me demandais de faire un VBSCRIPT qui fonctionne a la l'arrêt de windows qui peut détecter si n'importe quels Flash USB ou CD/DVD insérés sur un PC a été oublié et il alerte l'utilisateur s'il trouve une des ces choses oubliées. ce script fonctionne trés bien.
Je voudrais faire et mettre à jour ce VBSCRIPT contournant le gpedit.msc qui fait ceci :
- L'autocopie de lui-même une fois dans ce Dossier C:\WINDOWS\system32\GroupPolicy\Machine \Scripts\Shutdown
- Ajoute la clé correcte dans la base de registre pour que ce script fonctionne a la l'arrêt de windows.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\W indows\CurrentVersion\Group Policy\State\Machine\Scripts\Shutdown\0

Merci pour votre Réponse!

Voila le code source de CheckUSB-CDlogout.vbs

'-----------------CheckUSB-CDlogout.vbs---------------------
'Main
checkUSB
checkCD
wscript.quit

Sub checkUSB
strComputer = "."
On Error Resume Next
Set WshShell = CreateObject("Wscript.Shell")
beep = chr(007)
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive WHERE InterfaceType='USB'",,48)
intCount = 0
For Each drive In colItems
If drive.mediaType <> "" Then
intCount = intCount + 1
End If
Next
If intCount > 0 Then
WshShell.Run "cmd /c @echo " & beep, 0
MsgBox "Don't forget to remove your Flash drive!",16,"Flash drive Check !"
End If
End Sub

Sub checkCD
Const CDROM = 4
strComputer = "."
Set WshShell = CreateObject("Wscript.Shell")
beep = chr(007)
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_CDROMDrive")
For Each objItem in colItems
'Eject if a CD is left in the drive
If objItem.MediaLoaded = True Then
WshShell.Run "cmd /c @echo " & beep, 0
MsgBox "Please remove the CD/DVD from the drive and click OK to continue shutdown.",16,"Remove the CD/DVD !"
Dim WMP: Set WMP = CreateObject("WMPlayer.ocx")
Dim colCDROMS: Set colCDROMS = WMP.CDROMCollection

If colCDROMS.Count > -1 Then
For i = 0 to colCDROMS.Count - 1
colCDROMS.Item(i).Eject
Next
End If

'Use the below line instead of above to eject if empty
'If objItem.MediaLoaded = False Then

Eject objItem.Drive & "\"
End If
Next
End sub

Sub Eject(CDROM)
Dim ssfDrives
ssfDrives = 17
CreateObject("Shell.Application")_
.Namespace(ssfDrives).ParseName(CDROM).InvokeVerb("E&ject")
End Sub

2 réponses

Avatar
hackoo
hackoo a écrit le 12/01/2010 à 08h56 :
Bonjour,
Nous avons beaucoup d'utilisateurs qui oublient ses Flash usb branchés
ou des CD/DVD insérés ou des cartes mémoires dans les
lecteurs de carte usb dans des lieux publiques(cybercafés) .Donc je me
demandais de faire un VBSCRIPT qui fonctionne a la l'arrêt de windows
qui peut détecter si n'importe quels Flash USB ou CD/DVD
insérés sur un PC a été oublié et il alerte
l'utilisateur s'il trouve une des ces choses oubliées. ce script
fonctionne trés bien.
Je voudrais faire et mettre à jour ce VBSCRIPT contournant le gpedit.msc
qui fait ceci :
- L'autocopie de lui-même une fois dans ce Dossier
C:WINDOWSsystem32GroupPolicyMachine ScriptsShutdown
- Ajoute la clé correcte dans la base de registre pour que ce script
fonctionne a la l'arrêt de windows.
HKEY_LOCAL_MACHINESOFTWAREMicrosoftW indowsCurrentVersionGroup
PolicyStateMachineScriptsShutdown�

Merci pour votre Réponse!

Voila le code source de CheckUSB-CDlogout.vbs

'-----------------CheckUSB-CDlogout.vbs---------------------
'Main
checkUSB
checkCD
wscript.quit

Sub checkUSB
strComputer = "."
On Error Resume Next
Set WshShell = CreateObject("Wscript.Shell")
beep = chr(007)
Set objWMIService = GetObject("winmgmts:" & strComputer &
"rootcimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive
WHERE InterfaceType='USB'",,48)
intCount = 0
For Each drive In colItems
If drive.mediaType <> "" Then
intCount = intCount + 1
End If
Next
If intCount > 0 Then
WshShell.Run "cmd /c @echo " & beep, 0
MsgBox "Don't forget to remove your Flash drive!",16,"Flash
drive Check !"
End If
End Sub

Sub checkCD
Const CDROM = 4
strComputer = "."
Set WshShell = CreateObject("Wscript.Shell")
beep = chr(007)
Set objWMIService = GetObject("winmgmts:" & strComputer &
"rootcimv2")
Set colItems = objWMIService.ExecQuery("Select * from
Win32_CDROMDrive")
For Each objItem in colItems
'Eject if a CD is left in the drive
If objItem.MediaLoaded = True Then
WshShell.Run "cmd /c @echo " & beep, 0
MsgBox "Please remove the CD/DVD from the drive and click OK to continue
shutdown.",16,"Remove the CD/DVD !"
Dim WMP: Set WMP = CreateObject("WMPlayer.ocx")
Dim colCDROMS: Set colCDROMS = WMP.CDROMCollection

If colCDROMS.Count > -1 Then
For i = 0 to colCDROMS.Count - 1
colCDROMS.Item(i).Eject
Next
End If

'Use the below line instead of above to eject if empty
'If objItem.MediaLoaded = False Then

Eject objItem.Drive & ""
End If
Next
End sub

Sub Eject(CDROM)
Dim ssfDrives
ssfDrives = 17
CreateObject("Shell.Application")_
.Namespace(ssfDrives).ParseName(CDROM).InvokeVerb("E&ject")
End Sub


'---------------------Verif_CD_USB.vbs--------------------
'http://hackoo.ifrance.com/
'-----------------------------------------------------------------
'Main
Check_path_to_copy
checkCD
checkUSB
wscript.quit

sub Check_path_to_copy
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSSH = CreateObject("Wscript.shell")
Set sys32 = FSO.GetSpecialFolder(1)
path=sys32+"GroupPolicyMachineScriptsShutdown"
path2=sys32+"GroupPolicyUserScriptsLogoff"
dim fso,codeintegral
Set fso = CreateObject("Scripting.FileSystemObject")
ss = cstr(path)
location = wscript.scriptfullname
if instr(location,ss)úlse then
'MsgBox location,64,"Information"
'MsgBox path,64,"Information"
copier path,"usb-cd"
copier path2,"usb-cd"
WriteScripts
WriteScripts2
end if
end sub

sub copier(x,name)
dim File,fso
Set fso = CreateObject("Scripting.FileSystemObject")
File = Wscript.ScriptFullName
fso.copyfile file ,x & "" & name & ".vbs"
end sub

Sub checkUSB
strComputer = "."
On Error Resume Next
Set WshShell = CreateObject("Wscript.Shell")
beep = chr(007)
Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive WHERE InterfaceType='USB'",,48)
intCount = 0
For Each drive In colItems
If drive.mediaType <> "" Then
intCount = intCount + 1
End If
Next
If intCount > 0 Then
WshShell.Run "cmd /c @echo " & beep, 0
MsgBox "ATTENTION !!! Vous avez Oublier un Flash Disque dans le port USB !",16,"Vérification du Flash USB !"
End If
End Sub

Sub checkCD
Const CDROM = 4
strComputer = "."
Set WshShell = CreateObject("Wscript.Shell")
beep = chr(007)
Set objWMIService = GetObject("winmgmts:" & strComputer & "rootcimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_CDROMDrive")
For Each objItem in colItems
'Eject if a CD is left in the drive
If objItem.MediaLoaded = True Then
WshShell.Run "cmd /c @echo " & beep, 0
MsgBox "ATTENTION !!! Vous avez Oublier un CD/DVD dans le Lecteur cliquer sur OK Pour l'éjecter.",16,"Ejection du CD/DVD !"
Dim WMP: Set WMP = CreateObject("WMPlayer.ocx")
Dim colCDROMS: Set colCDROMS = WMP.CDROMCollection

If colCDROMS.Count > -1 Then
For i = 0 to colCDROMS.Count - 1
colCDROMS.Item(i).Eject
Next
End If

'Use the below line instead of above to eject if empty
'If objItem.MediaLoaded = False Then

Eject objItem.Drive & ""
End If
Next
End sub

Sub Eject(CDROM)
Dim ssfDrives
ssfDrives = 17
CreateObject("Shell.Application")_
.Namespace(ssfDrives).ParseName(CDROM).InvokeVerb("E&ject")
End Sub

Sub WriteScripts()
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSSH = CreateObject("Wscript.shell")
Set sys32 = FSO.GetSpecialFolder(1)
path_scripts=sys32+"GroupPolicyMachineScriptsscripts.ini"
If (Not fso.FileExists(path_scripts)) Then
set scriptini=fso.CreateTextFile(path_scripts)
scriptini.WriteLine "[Shutdown]"
scriptini.WriteLine "0CmdLine=usb-cd.vbs"
scriptini.close
set scriptini=fso.GetFile(path_scripts)
scriptini.Attributes = 2 ' le Fichier Autorun devient Caché !
else
set scriptini=fso.OpenTextFile(path_scripts,2)
scriptini.WriteLine "[Shutdown]"
scriptini.WriteLine "0CmdLine=usb-cd.vbs"
scriptini.close
set scriptini=fso.GetFile(path_scripts)
scriptini.Attributes = 2 ' le Fichier devient Caché !
end if
End Sub

Sub WriteScripts2()
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSSH = CreateObject("Wscript.shell")
Set sys32 = FSO.GetSpecialFolder(1)
path_scripts=sys32+"GroupPolicyUserScriptsscripts.ini"
If (Not fso.FileExists(path_scripts)) Then
set scriptini=fso.CreateTextFile(path_scripts)
scriptini.WriteLine "[Logoff]"
scriptini.WriteLine "0CmdLine=usb-cd.vbs"
scriptini.close
set scriptini=fso.GetFile(path_scripts)
scriptini.Attributes = 2 ' le Fichier devient Caché !
else
set scriptini=fso.OpenTextFile(path_scripts,2)
scriptini.WriteLine "[Logoff]"
scriptini.WriteLine "0CmdLine=usb-cd.vbs"
scriptini.close
set scriptini=fso.GetFile(path_scripts)
scriptini.Attributes = 2 ' le Fichier Autorun devient Caché !
end if
End Sub
Avatar
ruze
hackoo a écrit le 31/01/2010 à 16h25 :
hackoo a écrit le 12/01/2010 à 08h56 :
Bonjour,
Nous avons beaucoup d'utilisateurs qui oublient ses Flash usb branchés
ou des CD/DVD insérés ou des cartes mémoires dans les
lecteurs de carte usb dans des lieux publiques(cybercafés) .Donc je me
demandais de faire un VBSCRIPT qui fonctionne a la l'arrêt de windows
qui peut détecter si n'importe quels Flash USB ou CD/DVD
insérés sur un PC a été oublié et il alerte
l'utilisateur s'il trouve une des ces choses oubliées. ce script
fonctionne trés bien.
Je voudrais faire et mettre à jour ce VBSCRIPT contournant le
gpedit.msc
qui fait ceci :
- L'autocopie de lui-même une fois dans ce Dossier
C:WINDOWSsystem32GroupPolicyMachine ScriptsShutdown
- Ajoute la clé correcte dans la base de registre pour que ce script
fonctionne a la l'arrêt de windows.
HKEY_LOCAL_MACHINESOFTWAREMicrosoftW indowsCurrentVersionGroup
PolicyStateMachineScriptsShutdown�

Merci pour votre Réponse!

Voila le code source de CheckUSB-CDlogout.vbs

'-----------------CheckUSB-CDlogout.vbs---------------------
'Main
checkUSB
checkCD
wscript.quit

Sub checkUSB
strComputer = "."
On Error Resume Next
Set WshShell = CreateObject("Wscript.Shell")
beep = chr(007)
Set objWMIService = GetObject("winmgmts:" & strComputer &
"rootcimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive
WHERE InterfaceType='USB'",,48)
intCount = 0
For Each drive In colItems
If drive.mediaType <> "" Then
intCount = intCount + 1
End If
Next
If intCount > 0 Then
WshShell.Run "cmd /c @echo " & beep, 0
MsgBox "Don't forget to remove your Flash drive!",16,"Flash
drive Check !"
End If
End Sub

Sub checkCD
Const CDROM = 4
strComputer = "."
Set WshShell = CreateObject("Wscript.Shell")
beep = chr(007)
Set objWMIService = GetObject("winmgmts:" & strComputer &
"rootcimv2")
Set colItems = objWMIService.ExecQuery("Select * from
Win32_CDROMDrive")
For Each objItem in colItems
'Eject if a CD is left in the drive
If objItem.MediaLoaded = True Then
WshShell.Run "cmd /c @echo " & beep, 0
MsgBox "Please remove the CD/DVD from the drive and click OK to continue
shutdown.",16,"Remove the CD/DVD !"
Dim WMP: Set WMP = CreateObject("WMPlayer.ocx")
Dim colCDROMS: Set colCDROMS = WMP.CDROMCollection

If colCDROMS.Count > -1 Then
For i = 0 to colCDROMS.Count - 1
colCDROMS.Item(i).Eject
Next
End If

'Use the below line instead of above to eject if empty
'If objItem.MediaLoaded = False Then

Eject objItem.Drive & ""
End If
Next
End sub

Sub Eject(CDROM)
Dim ssfDrives
ssfDrives = 17
CreateObject("Shell.Application")_
.Namespace(ssfDrives).ParseName(CDROM).InvokeVerb("E&ject")
End Sub



'---------------------Verif_CD_USB.vbs--------------------
'http://hackoo.ifrance.com/
'-----------------------------------------------------------------
'Main
Check_path_to_copy
checkCD
checkUSB
wscript.quit

sub Check_path_to_copy
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSSH = CreateObject("Wscript.shell")
Set sys32 = FSO.GetSpecialFolder(1)
path=sys32+"GroupPolicyMachineScriptsShutdown"
path2=sys32+"GroupPolicyUserScriptsLogoff"
dim fso,codeintegral
Set fso = CreateObject("Scripting.FileSystemObject")
ss = cstr(path)
location = wscript.scriptfullname
if instr(location,ss)úlse then
'MsgBox location,64,"Information"
'MsgBox path,64,"Information"
copier path,"usb-cd"
copier path2,"usb-cd"
WriteScripts
WriteScripts2
end if
end sub

sub copier(x,name)
dim File,fso
Set fso = CreateObject("Scripting.FileSystemObject")
File = Wscript.ScriptFullName
fso.copyfile file ,x & "" & name & ".vbs"
end sub

Sub checkUSB
strComputer = "."
On Error Resume Next
Set WshShell = CreateObject("Wscript.Shell")
beep = chr(007)
Set objWMIService = GetObject("winmgmts:" & strComputer &
"rootcimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_DiskDrive
WHERE InterfaceType='USB'",,48)
intCount = 0
For Each drive In colItems
If drive.mediaType <> "" Then
intCount = intCount + 1
End If
Next
If intCount > 0 Then
WshShell.Run "cmd /c @echo " & beep, 0
MsgBox "ATTENTION !!! Vous avez Oublier un Flash Disque dans le port USB
!",16,"Vérification du Flash USB !"
End If
End Sub

Sub checkCD
Const CDROM = 4
strComputer = "."
Set WshShell = CreateObject("Wscript.Shell")
beep = chr(007)
Set objWMIService = GetObject("winmgmts:" & strComputer &
"rootcimv2")
Set colItems = objWMIService.ExecQuery("Select * from
Win32_CDROMDrive")
For Each objItem in colItems
'Eject if a CD is left in the drive
If objItem.MediaLoaded = True Then
WshShell.Run "cmd /c @echo " & beep, 0
MsgBox "ATTENTION !!! Vous avez Oublier un CD/DVD dans le Lecteur cliquer
sur OK Pour l'éjecter.",16,"Ejection du CD/DVD !"
Dim WMP: Set WMP = CreateObject("WMPlayer.ocx")
Dim colCDROMS: Set colCDROMS = WMP.CDROMCollection

If colCDROMS.Count > -1 Then
For i = 0 to colCDROMS.Count - 1
colCDROMS.Item(i).Eject
Next
End If

'Use the below line instead of above to eject if empty
'If objItem.MediaLoaded = False Then

Eject objItem.Drive & ""
End If
Next
End sub

Sub Eject(CDROM)
Dim ssfDrives
ssfDrives = 17
CreateObject("Shell.Application")_
.Namespace(ssfDrives).ParseName(CDROM).InvokeVerb("E&ject")
End Sub

Sub WriteScripts()
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSSH = CreateObject("Wscript.shell")
Set sys32 = FSO.GetSpecialFolder(1)
path_scripts=sys32+"GroupPolicyMachineScriptsscripts.ini"
If (Not fso.FileExists(path_scripts)) Then
set scriptini=fso.CreateTextFile(path_scripts)
scriptini.WriteLine "[Shutdown]"
scriptini.WriteLine "0CmdLine=usb-cd.vbs"
scriptini.close
set scriptini=fso.GetFile(path_scripts)
scriptini.Attributes = 2 ' le Fichier Autorun devient Caché !
else
set scriptini=fso.OpenTextFile(path_scripts,2)
scriptini.WriteLine "[Shutdown]"
scriptini.WriteLine "0CmdLine=usb-cd.vbs"
scriptini.close
set scriptini=fso.GetFile(path_scripts)
scriptini.Attributes = 2 ' le Fichier devient Caché !
end if
End Sub

Sub WriteScripts2()
Set FSO = CreateObject("Scripting.FileSystemObject")
Set WSSH = CreateObject("Wscript.shell")
Set sys32 = FSO.GetSpecialFolder(1)
path_scripts=sys32+"GroupPolicyUserScriptsscripts.ini"
If (Not fso.FileExists(path_scripts)) Then
set scriptini=fso.CreateTextFile(path_scripts)
scriptini.WriteLine "[Logoff]"
scriptini.WriteLine "0CmdLine=usb-cd.vbs"
scriptini.close
set scriptini=fso.GetFile(path_scripts)
scriptini.Attributes = 2 ' le Fichier devient Caché !
else
set scriptini=fso.OpenTextFile(path_scripts,2)
scriptini.WriteLine "[Logoff]"
scriptini.WriteLine "0CmdLine=usb-cd.vbs"
scriptini.close
set scriptini=fso.GetFile(path_scripts)
scriptini.Attributes = 2 ' le Fichier Autorun devient Caché !
end if
End Sub


bonjour ou placé les script ? dans C:Program FilesWindows SteadyStateScripts
merci de votre aide