INHOUDSOPGAWE:

VBScript Drive Lock: 5 stappe
VBScript Drive Lock: 5 stappe

Video: VBScript Drive Lock: 5 stappe

Video: VBScript Drive Lock: 5 stappe
Video: vbs scripts - part 5 2024, November
Anonim
VBScript Drive Lock
VBScript Drive Lock
VBScript Drive Lock
VBScript Drive Lock

Opdatering: Hierdie program het nou die moontlikheid om die gespesifiseerde geslote dryfplekke te verberg

Nadat ek my skermslot gemaak het wat die gebruikersrekenaar sluit, besluit ek om die uitdaging aan te gaan om 'n aandryfslot te maak wat 'n skyf sluit.

Ons wil almal soms gebruikers uit 'n skyf hou (veral 'n usb -skyf). Hierdie program sluit dus die skyf om te voorkom dat ongemagtigde gebruikers toegang daartoe kry.

Anders as my skermslot, is hierdie skrif redelik ingewikkeld. Hoofsaaklik omdat ek soveel as en dan bygevoeg het om 'n professionele gevoel te gee.

Hierdie program is gemaak in VBScript. In die volgende paar stappe sal ek u wys hoe ek dit gemaak het.

Stap 1: My program …

My program …
My program …

U kan my Drive Lock hieronder aflaai:

Hier is die rou VBScript -lêer LINK. U sal aan die einde een van die 's' moet verwyder, sodat dit 'DriveLock.vbs' is, of wat u ook al wil hê, solank dit eindig in.vbs.

Stap 2: Maak die Drive Lock (deel 1)

Maak die Drive Lock (deel 1)
Maak die Drive Lock (deel 1)
Maak die Drive Lock (deel 1)
Maak die Drive Lock (deel 1)

Hier sal ek u die eerste deel van die dryfslot wys … Die eerste foto is wat na vore kom wanneer u die program die eerste keer uitvoer.

Ek het dit so gemaak dat u drie opsies hier het, om 'n aandrywer te sluit, om die stasie (s) te ontsluit of te verlaat.

Hier is hoe ek dit gedoen het:

Funksie DisplayPrompt () intSplash = MsgBox ("Wat wil u doen?" & VbCrLf & vbCrLf _ & "[Klik op JA om 'n aandrywing te sluit]" & vbCrLf _ & "[Klik op NEE om aandrywer (e) te ontsluit] ", 35, cTitleBarMsg) If intSplash = 2 Then DisplaySplashScreen () ElseIf intSplash = 7 Then On Error Resume Next objWshShl. RegDelete" HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDrive "objWSDL" HK "Software" / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "If Err. Number 0 Dan is MsgBox" Drives reeds ontsluit. ", 16, cTitleBarMsg DisplayPrompt () End If On Error Goto 0 objWshShl. Run" Taskkill /f /im explorer.exe ", 0 WScript. Sleep 300 objWshShl. Run" cmd /c explorer.exe ", 0 MsgBox" Drive ontsluit was suksesvol! ", 64, cTitleBarMsg DisplayPrompt () Einde as einde funksie

As u op NEE klik om die skyf (e) te ontsluit, word die registersleutels verwyder wat die instellings bevat wat die skyf sluit/verberg, en kyk of die skyf reeds ontsluit is. Dan begin dit explorer.exe weer sodat die veranderinge onmiddellik van krag word.

As u op kanselleer klik, verskyn die spatskerm en verlaat dan.

As u uiteindelik op JA klik, gaan dit na die volgende spyskaart. Wat ek in die volgende stap sal verduidelik.

Stap 3: Maak die Drive Lock (deel 2)

Maak die Drive Lock (deel 2)
Maak die Drive Lock (deel 2)
Maak die Drive Lock (deel 2)
Maak die Drive Lock (deel 2)

Vervolgens sal ek u die spyskaart wys waar u die heksery kies wat u wil sluit (prent 1).

Stel colDrives = objFSO. Drives in

Vir elke objDrive in colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space (10) Volgende strDrives = LCase (Vervang (strDriveList, "", "", 1, -1)) Stel colDrives = objFSO. Drives strDriveList = "" Vir Elke objDrive in colDrives strDriveList = strDriveList & objDrive. DriveLetter & ": \" & Spasie (5) Volgende

Invoermenu ()

Sub InputMenu strChoice = InputBox ("Tik letter van die skyf wat u wil sluit." & _ "Of tik ALL om alle skyfies te sluit." & _ Vbcrlf & vbcrlf & "Beskikbare skyfies" & Spasie (3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

Die eerste stukkie kode genereer 'n lys van al die beskikbare dryf. Die volgende deel is die invoerkas waar u die letter van die skyf wat u wil sluit, invoer.

As u alles behalwe 'n geldige aanduidingsbrief probeer invoer, sal die program dit weier. Hier is hoe ek dit gedoen het:

As IsEmpty (strChoice) Dan

DisplaySplashScreen () ElseIf strChoice = "" Dan mag MsgBox "Laat dit nie leeg nie.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "alles" Dan 'Doen niks anders nie (strChoice) 1 Dan moet MsgBox' die letter SLEGS. ", 16, cTitleBarMsg InputMenu () Anders As As InStr (1, strDrives, LCase (strChoice), 1) 0 Dan MsgBox" Ongeldige keuse, probeer weer. ", 16, cTitleBarMsg InputMenu () Einde As

Die eerste twee reëls kyk of die gebruiker op die kanselleerknoppie druk en of die program verlaat.

Die volgende drie reëls kyk of die gebruiker die invoerarea leeg gelaat het.

Die res van die kode is redelik verwarrend, maar dit is eintlik net om seker te maak dat die gebruiker 'n geldige skyf ingevoer het.

Stap 4: Maak die Drive Lock (Deel 3)

Maak die Drive Lock (Deel 3)
Maak die Drive Lock (Deel 3)

Om een of ander rede kan die register nie die dryfletter alleen lees nie, dus moet dit in 'n ooreenstemmende heelgetal geplaas word. Dit is wat hierdie kode hieronder doen. Vir meer inligting hieroor, klik hier.

ElseIf strChoice = "a" Dan

intDriveNumber = 1 ElseIf strChoice = "b" Dan intDriveNumber = 2 ElseIf strChoice = "c" Dan intDriveNumber = 4

Sodra die heelgetal gekonfigureer is, kan die script nou aan die register skryf met behulp van hierdie kode:

'N Ander opmerking is dat hierdie program in plaas van HKCU aan HKLM skryf. HKLM beïnvloed alle gebruikers in plaas van net die huidige aangemelde gebruiker, sodat die slot meer effektief is.

objWshShl. RegWrite "HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDrive", intDriveNumber, "REG_DWORD"

objWshShl. RegWrite "HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives", intDriveNumber, "REG_DWORD"

Stap 5: Drive Lock

Ek hoop dat u hierdie instruksies nuttig gevind het. As u nie 'n deel hiervan verstaan nie, plaas 'n opmerking of pm my.

Gee my asseblief terugvoer oor enige probleme en beoordeel dit asseblief. Ek het baie tyd hieraan bestee.

As u die rou vbs -lêer wil aflaai, maak seker dat dit met 'n.vbs -lêeruitbreiding gestoor is. Nog 'n goeie ding daarvan is dat dit draagbaar is, sodat u dit van 'n flash drive kan aflaai en u hoef niks te installeer nie.

Aanbeveel: