Inhoudsopgave:

VBScript-schijfvergrendeling: 5 stappen
VBScript-schijfvergrendeling: 5 stappen

Video: VBScript-schijfvergrendeling: 5 stappen

Video: VBScript-schijfvergrendeling: 5 stappen
Video: Голубая стрела (1958) фильм 2024, November
Anonim
VBScript-schijfvergrendeling
VBScript-schijfvergrendeling
VBScript-schijfvergrendeling
VBScript-schijfvergrendeling

Update: dit programma heeft nu de mogelijkheid om de opgegeven vergrendelde schijven te verbergen

Nadat ik mijn schermvergrendeling had gemaakt die de computer van de gebruiker vergrendelt, besloot ik de uitdaging aan te gaan om een schijfvergrendeling te maken die een schijf vergrendelt.

We willen allemaal wel eens gebruikers weghouden van een schijf (vooral een USB-schijf). Dus dit programma vergrendelt de schijf om te voorkomen dat onbevoegde gebruikers er toegang toe krijgen.

In tegenstelling tot mijn schermvergrendeling is dit script behoorlijk ingewikkeld. Vooral omdat ik zoveel if's en then's heb toegevoegd om het programma een professionele uitstraling te geven.

Dit programma is gemaakt in VBScript. In de volgende paar stappen zal ik je laten zien hoe ik het heb gemaakt.

Stap 1: Mijn programma…

Mijn programma…
Mijn programma…

Je kunt mijn Drive Lock hieronder downloaden:

Hier is het onbewerkte VBScript-bestand LINK. Je zult een van de 's' aan het einde moeten verwijderen, dus het is 'DriveLock.vbs' of wat je maar wilt, zolang het maar eindigt op.vbs.

Stap 2: Het maken van de Drive Lock (deel 1)

De Drive Lock maken (deel 1)
De Drive Lock maken (deel 1)
De Drive Lock maken (deel 1)
De Drive Lock maken (deel 1)

Hier zal ik je het eerste deel van de schijfvergrendeling laten zien … De eerste foto is wat er verschijnt als je het programma voor het eerst uitvoert.

Ik heb het zo gemaakt dat je hier drie opties hebt: een schijf vergrendelen, schijf(ken) ontgrendelen of afsluiten.

Nu is hier hoe ik het deed:

Functie DisplayPrompt() intSplash = MsgBox("Wat wilt u doen?" & vbCrLf & vbCrLf _ & "[Klik op JA om een schijf te vergrendelen] " & vbCrLf _ & "[Klik op NEE om schijf(ken) te ontgrendelen] ", 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. \Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives" Als Err. Number 0 Dan MsgBox "Schijven zijn al ontgrendeld.", 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 unlocked was successfull!", 64, cTitleBarMsg DisplayPrompt() End If End Function

Als u op NEE klikt om de schijf(en) te ontgrendelen, worden de registersleutels verwijderd die de instellingen bevatten die de schijf vergrendelen/verbergen en wordt ook gecontroleerd of de schijf al is ontgrendeld. Vervolgens wordt explorer.exe opnieuw gestart, zodat de wijzigingen onmiddellijk van kracht worden.

Als u op Annuleren klikt, wordt het opstartscherm weergegeven en wordt het afgesloten.

Als u ten slotte op JA klikt, gaat het naar het volgende menu. Wat ik in de volgende stap zal uitleggen.

Stap 3: Het maken van de Drive Lock (deel 2)

De Drive Lock maken (deel 2)
De Drive Lock maken (deel 2)
De Drive Lock maken (deel 2)
De Drive Lock maken (deel 2)

Vervolgens zal ik je het menu laten zien waar je de heksenaandrijving kiest die je wilt vergrendelen (foto 1).

Stel colDrives = objFSO. Drives in

For Each objDrive in colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space(10) Volgende strDrives = LCase(Replace(strDriveList, " ", "", 1, -1)) Set colDrives = objFSO. Drives strDriveList = "" For Each objDrive in colDrives strDriveList = strDriveList & objDrive. DriveLetter & ":\" & Spatie (5) Volgende

InvoerMenu()

Sub InputMenu strChoice = InputBox("Voer de letter in van het station dat u wilt vergrendelen." & _ " Of typ ALL om alle stations te vergrendelen." & _ vbcrlf & vbcrlf & "Beschikbare stations" & Space(3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

Het eerste stukje code genereert een lijst met alle beschikbare stations. Het volgende deel is het invoerveld waar u de letter invoert van de schijf die u wilt vergrendelen.

Als u iets anders probeert in te voeren dan een geldige stationsletter, zal het programma dit weigeren. Hier is hoe ik dat deed:

Als Is Leeg (strChoice) Dan

DisplaySplashScreen() ElseIf strChoice = "" Then MsgBox "Laat dit niet leeg.", 16, cTitleBarMsg InputMenu() ElseIf LCase(strChoice) = "all" Then 'Do Nothing ElseIf Len(strChoice) 1 Dan MsgBox "U moet ALLEEN de letter.", 16, cTitleBarMsg InputMenu() ElseIf Not InStr(1, strDrives, LCase(strChoice), 1) 0 Dan MsgBox "Ongeldige keuze, probeer het opnieuw.", 16, cTitleBarMsg InputMenu() End If

De eerste twee regels controleren of de gebruiker op de annuleerknop heeft gedrukt en of het programma wordt afgesloten.

De volgende drie regels controleren of de gebruiker het invoergebied leeg heeft gelaten.

De rest van de code is behoorlijk verwarrend, maar het zorgt er in feite voor dat de gebruiker een geldige schijf heeft ingetypt.

Stap 4: Het maken van de Drive Lock (deel 3)

De aandrijving vergrendelen (deel 3)
De aandrijving vergrendelen (deel 3)

Om de een of andere reden kan het register de stationsletter niet alleen lezen, dus moet deze in een overeenkomstig geheel getal worden ingevoerd. Dat is wat deze onderstaande code doet. Voor meer informatie hierover klik hier.

ElseIf strChoice = "a" Dan

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

Nadat het gehele getal is geconfigureerd, kan het script nu met deze code naar het register schrijven:

Een andere opmerking is dat dit programma naar HKLM schrijft in plaats van naar HKCU. HKLM beïnvloedt alle gebruikers in plaats van alleen de huidige ingelogde gebruiker, zodat de vergrendeling effectiever 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

Ik hoop dat je dit instructable nuttig vond. als je een deel hiervan niet begrijpt, plaats dan een reactie of pm me.

En geef me feedback over eventuele problemen en beoordeel alstublieft. Ik heb hier veel tijd aan besteed.

Als u het onbewerkte vbs-bestand wilt downloaden, zorg er dan voor dat het is opgeslagen met een.vbs-bestandsextensie. Een ander leuk ding is dat het draagbaar is, dus je kunt het vanaf een flashstation gebruiken en je hoeft niets te installeren.

Aanbevolen: