Indholdsfortegnelse:

VBScript -drevlås: 5 trin
VBScript -drevlås: 5 trin

Video: VBScript -drevlås: 5 trin

Video: VBScript -drevlås: 5 trin
Video: Trim Function In Vbscript Tamil 2024, Juli
Anonim
VBScript -drevlås
VBScript -drevlås
VBScript -drevlås
VBScript -drevlås

Opdatering: Dette program har nu mulighed for at skjule de angivne låste drev

Efter at have lavet min skærmlås, der låser brugerens computer, besluttede jeg at tage udfordringen med at lave en drevlås, der låser et drev.

Vi ønsker alle undertiden at holde brugerne ude af et drev (især et usb -drev). Så dette program vil låse drevet for at forhindre uautoriserede brugere i at få adgang til det.

I modsætning til min skærmlås er dette script ret kompliceret. Hovedsagelig fordi jeg tilføjede så mange if's og derefter bare for at give programmeringen en professionel fornemmelse.

Dette program blev lavet i VBScript. I de næste par trin viser jeg dig, hvordan jeg lavede det.

Trin 1: Mit program …

Mit program…
Mit program…

Du kan downloade min Drive Lock herunder:

Her er den rå VBScript -fil LINK. Du bliver nødt til at fjerne en af 's'erne i slutningen, så det er' DriveLock.vbs 'eller hvad du nogensinde vil have, så længe det ender på.vbs.

Trin 2: Lav drevlåsen (del 1)

Gør Drive Lock (del 1)
Gør Drive Lock (del 1)
Gør Drive Lock (del 1)
Gør Drive Lock (del 1)

Her vil jeg vise dig den første del af drevlåsen … Det første billede er, hvad der kommer frem, når du først kører programmet.

Jeg lavede det, så du har tre muligheder her, for at låse et drev, for at låse drev op eller afslutte.

Her er hvordan jeg gjorde det:

Funktion DisplayPrompt () intSplash = MsgBox ("Hvad vil du gerne gøre?" & VbCrLf & vbCrLf _ & "[Klik på JA for at låse et drev]" & vbCrLf _ & "[Klik på NEJ for at låse drev op] ", 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 " / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "If Err. Number 0 Then MsgBox" Drives are already unlocked. ", 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" Drev ulåst var succesfuldt! ", 64, cTitleBarMsg DisplayPrompt () Afslut hvis slutfunktion

Hvis du klikker på NEJ for at låse drevet op, sletter det registreringsnøglerne, der indeholder de indstillinger, der låser/skjuler drevet, og det kontrollerer også, om drevet allerede er låst op. Derefter genstarter det explorer.exe, så ændringerne træder i kraft med det samme.

Hvis du klikker på annuller, viser den stænkskærmen og forlader derefter.

Endelig, hvis du klikker på JA, går den til den næste menu. Som jeg vil forklare i det næste trin.

Trin 3: Lav drevlåsen (del 2)

Gør Drive Lock (del 2)
Gør Drive Lock (del 2)
Gør Drive Lock (del 2)
Gør Drive Lock (del 2)

Dernæst vil jeg vise dig menuen, hvor du vælger det heksedrev, du vil låse (billede 1).

Indstil colDrives = objFSO. Drives

For hver objDrive i colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space (10) Næste strDrives = LCase (Erstat (strDriveList, "", "", 1, -1)) Indstil colDrives = objFSO. Drives strDriveList = "" For hver objDrive i colDrives strDriveList = strDriveList & objDrive. DriveLetter & ": \" & mellemrum (5) Næste

InputMenu ()

Sub InputMenu strChoice = InputBox ("Indtast bogstav på drevet, du vil låse." & _ "Eller skriv ALL for at låse alle drev." & _ Vbcrlf & vbcrlf & "Tilgængelige drev" & mellemrum (3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

Den første bit kode genererer en liste over alle de tilgængelige drev. Den næste del er inputboksen, hvor du indtaster bogstavet på drevet, som du gerne vil låse.

Hvis du prøver at indtaste alt andet end et gyldigt drevbogstav, og programmet vil nægte det. Sådan gjorde jeg det:

Hvis IsEmpty (strChoice) Så

DisplaySplashScreen () ElseIf strChoice = "" Så MsgBox "Lad ikke dette stå tomt.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "alt" Så 'Gør ingenting ElseIf Len (strChoice) 1 Så MsgBox' Du skal indtaste bogstavet KUN. ", 16, cTitleBarMsg InputMenu () ElseIf Not InStr (1, strDrives, LCase (strChoice), 1) 0 Så MsgBox" Ugyldigt valg, prøv venligst igen. ", 16, cTitleBarMsg InputMenu () End If

De to første linjer tjekker for at se, om brugeren ramte knappen Annuller, og om de gjorde, programmet forlader.

De næste tre linjer kontrollerer, om brugeren forlod inputområdet tomt.

Resten af koden er temmelig forvirrende, men det er i bund og grund bare at sikre sig, at brugeren indtastede et gyldigt drev.

Trin 4: Lav drevlåsen (del 3)

Gør drevlåsen (del 3)
Gør drevlåsen (del 3)

Af en eller anden grund kan registreringsdatabasen ikke læse drevbogstavet alene, så det skal sættes i et tilsvarende heltal. Det er hvad denne kode herunder gør. For mere information om dette klik her.

ElseIf strChoice = "a" Så

intDriveNumber = 1 ElseIf strChoice = "b" Så intDriveNumber = 2 ElseIf strChoice = "c" Herefter intDriveNumber = 4

Når heltallet er konfigureret, kan scriptet nu skrive til registreringsdatabasen ved hjælp af denne kode:

En anden bemærkning er, at dette program skriver til HKLM i stedet for HKCU. HKLM påvirker alle brugere i stedet for bare den nuværende loggede bruger, så låsen er mere effektiv.

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"

Trin 5: Drevlås

Jeg håber, at du fandt dette instruktivt nyttigt. hvis du ikke forstår en del af dette, så send en kommentar eller pm mig.

Og giv mig venligst feedback på eventuelle problemer, og bedøm venligst. Jeg brugte meget tid på dette.

Hvis du vil downloade den rå vbs -fil, skal du bare sørge for, at den er gemt med en.vbs -filtypenavn. En anden god ting ved det er, at det er bærbart, så du kan køre det fra et flashdrev, og du ikke behøver at installere noget.

Anbefalede: