Cuprins:

Blocare unitate VBScript: 5 pași
Blocare unitate VBScript: 5 pași

Video: Blocare unitate VBScript: 5 pași

Video: Blocare unitate VBScript: 5 pași
Video: Instalare Windows 10 pro + activare Cmd 2024, Iulie
Anonim
Blocare unitate VBScript
Blocare unitate VBScript
Blocare unitate VBScript
Blocare unitate VBScript

Actualizare: acest program are acum capacitatea de a ascunde unitățile blocate specificate

După ce am blocat ecranul care blochează computerul utilizatorilor, am decis să iau provocarea de a face o blocare a unității care blochează o unitate.

Cu toții vrem uneori să ținem utilizatorii în afara unei unități (în special o unitate USB). Deci, acest program va bloca unitatea pentru a preveni accesul utilizatorilor neautorizați la acesta.

Spre deosebire de blocarea ecranului meu, acest script este destul de complicat. În principal, pentru că am adăugat atât de multe dacă sunt și apoi doar pentru a oferi programului un sentiment profesional.

Acest program a fost realizat în VBScript. În următorii pași vă voi arăta cum l-am realizat.

Pasul 1: Programul meu …

Programul meu …
Programul meu …

Puteți descărca Drive Drive-ul meu mai jos:

Iată LINK-ul fișierului VBScript brut. Va trebui să eliminați una dintre „s” la final, astfel încât să fie „DriveLock.vbs” sau ceea ce vreți vreodată, atâta timp cât se termină în.vbs.

Pasul 2: Realizarea blocării unității (partea 1)

Realizarea blocării unității (partea 1)
Realizarea blocării unității (partea 1)
Realizarea blocării unității (partea 1)
Realizarea blocării unității (partea 1)

Aici vă voi arăta prima parte a blocării unității … Prima imagine este ceea ce apare atunci când rulați programul pentru prima dată.

Am făcut-o astfel încât să aveți trei opțiuni aici, pentru a bloca o unitate, pentru a debloca unitatea (unitățile) sau a ieși.

Iată cum am făcut-o:

Funcție DisplayPrompt () intSplash = MsgBox („Ce ați dori să faceți?” & VbCrLf & vbCrLf _ & „[Faceți clic pe DA pentru a bloca o unitate]” & vbCrLf _ & „[Faceți clic pe NU pentru a debloca unitatea (unitățile)] ", 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 "objWshShl. RegDel / 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" Unitatea deblocată a avut succes! ", 64, cTitleBarMsg DisplayPrompt () End If End Function

Dacă faceți clic pe NU pentru a debloca unitatea (unitățile), acesta șterge cheile de registry care conțin setările care blochează / ascund unitatea, de asemenea, verifică dacă unitatea este deja deblocată. Apoi repornește explorer.exe, astfel încât modificările să aibă efect imediat.

Dacă faceți clic pe anulare, acesta afișează ecranul de pornire și apoi iese.

În cele din urmă, dacă faceți clic pe DA, acesta va merge la următorul meniu. Ceea ce voi explica în pasul următor.

Pasul 3: Realizarea blocării unității (partea 2)

Realizarea blocării unității (partea 2)
Realizarea blocării unității (partea 2)
Realizarea blocării unității (partea 2)
Realizarea blocării unității (partea 2)

În continuare vă voi arăta meniul în care alegeți unitatea de vrăjitoare pe care doriți să o blocați (imaginea 1).

Setați colDrives = objFSO. Drives

Pentru fiecare objDrive în colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space (10) Următorul strDrives = LCase (Înlocuiți (strDriveList, "", "", 1, -1)) Set colDrives = objFSO. Drives strDriveList = "" Pentru fiecare objDrive in colDrives strDriveList = strDriveList & objDrive. DriveLetter & ": \" & Space (5) Next

InputMenu ()

Sub InputMenu strChoice = InputBox ("Introduceți litera unității pe care doriți să o blocați." & _ "Sau tastați ALL pentru a bloca toate unitățile." & _ Vbcrlf & vbcrlf & "Unități disponibile" & Spațiu (3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

Primul bit de cod generează o listă cu toate unitățile disponibile. Următoarea parte este caseta de intrare în care introduceți litera unității pe care doriți să o blocați.

Dacă încercați să tastați altceva decât o scrisoare de unitate validă, programul o va refuza. Iată cum am făcut asta:

Dacă IsEmpty (strChoice) Atunci

DisplaySplashScreen () ElseIf strChoice = "" Atunci MsgBox "Nu lăsați acest lucru necompletat.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "all" Then 'Do Nothing ElseIf Len (strChoice) 1 Then MsgBox "Trebuie să introduceți litera DOAR. ", 16, cTitleBarMsg InputMenu () ElseIf Not InStr (1, strDrives, LCase (strChoice), 1) 0 Atunci MsgBox" Alegere nevalidă, vă rugăm să încercați din nou. ", 16, cTitleBarMsg InputMenu () End If

Primele două linii verifică dacă utilizatorul a apăsat butonul de anulare și dacă a reușit, programul iese.

Următoarele trei linii verifică dacă utilizatorul a lăsat necompletată zona de introducere.

Restul codului este destul de confuz, dar este doar asigurându-vă că utilizatorul a tastat o unitate validă.

Pasul 4: Realizarea blocării unității (partea 3)

Efectuarea blocării unității (partea 3)
Efectuarea blocării unității (partea 3)

Din anumite motive, registrul nu poate citi singur litera unității, deci trebuie introdusă într-un număr întreg corespunzător. Asta face acest cod de mai jos. Pentru mai multe informații despre acest lucru, faceți clic aici.

ElseIf strChoice = "a" Atunci

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

Odată ce întregul este configurat, scriptul poate scrie acum în registru folosind acest cod:

O altă notă este că acest program scrie în HKLM în loc de HKCU. HKLM afectează toți utilizatorii în loc de doar utilizatorul conectat curent, astfel încât blocarea să fie mai eficientă.

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"

Pasul 5: Blocare unitate

Sper că ți s-a părut util acest lucru instructabil. dacă nu înțelegeți o parte din acest lucru, vă rugăm să postați un comentariu sau pm me.

Și vă rog să-mi dați feedback cu privire la orice probleme și vă rog să evaluați. Am petrecut mult timp în asta.

Dacă doriți să descărcați fișierul vbs brut, asigurați-vă că este salvat cu o extensie de fișier.vbs. Un alt lucru frumos este că este portabil, astfel încât să îl puteți rula de pe o unitate flash și să nu aveți nevoie să instalați nimic.

Recomandat: