Inhoudsopgave:
- Stap 1: Mijn programma…
- Stap 2: Het maken van de Drive Lock (deel 1)
- Stap 3: Het maken van de Drive Lock (deel 2)
- Stap 4: Het maken van de Drive Lock (deel 3)
- Stap 5: Drive Lock
Video: VBScript-schijfvergrendeling: 5 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:16
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…
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)
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)
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)
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:
Basisprincipes van VBScript - Uw scripts, vertragingen en meer starten: 5 stappen
VBScript Basics - Uw scripts, vertragingen en meer starten!: Welkom bij mijn eerste tutorial over het maken van VBScripts met Kladblok. Met.vbs-bestanden kun je grappige grappen of dodelijke virussen maken. In deze tutorial laat ik je basiscommando's zien, zoals het starten van je script, het openen van bestanden en nog veel meer. Bij t
USB Rubber Ducky Script Encoder (VBScript) - Ajarnpa
USB Rubber Ducky Script Encoder (VBScript): Als je een USB Rubber Ducky hebt, weet je dat het een erg vervelende taak is om je script naar een.bin-bestand te compileren. Als je enige vorm van foutopsporing moet doen, weet je dat het constant downloaden van je gecompileerde script lastig kan zijn. Dus om dit op te lossen
VBScript-schermvergrendeling: 6 stappen
VBScript-schermvergrendeling: ik heb veel schermvergrendelingen op internet gezien, dus ik besloot er een te maken. Ik besloot het te publiceren omdat het erg handig kan zijn om je computer te vergrendelen als je er geen wachtwoord op hebt. Dus ik zal je leren hoe je het kunt maken. Of ga gewoon naar stap
VBScript werken met gemonteerde schijven: 6 stappen
VBScript werken met gemonteerde schijven: dit instructable is op aanvraag. Velen van jullie herkennen dit misschien van een eerdere instructable die ik had gedaan, namelijk https://www.instructables.com/id/Intro_to_VB_Script_a_beginners_guide/. Nou, in die ene techwiz24 vroeg me of je dit kon gebruiken om te schijf
Hoe kan ik: een berichtvenster maken met VBScript - Ajarnpa
How To: een berichtenvenster maken met VBScript: In deze "Instructable" Ik zal je laten zien hoe je een berichtvenster kunt maken in Kladblok met behulp van VBScript-codering. Let op: dit is een volledig onschadelijk project en als er iets misgaat, ben ik niet verantwoordelijk