Innehållsförteckning:
- Steg 1: Mitt program …
- Steg 2: Gör enhetslåset (del 1)
- Steg 3: Göra enhetslåset (del 2)
- Steg 4: Gör enhetslåset (del 3)
- Steg 5: Drive Lock
Video: VBScript Drive Lock: 5 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:40
Uppdatering: Detta program har nu möjlighet att dölja de angivna låsta enheterna
Efter att ha gjort mitt skärmlås som låser användarnas dator bestämde jag mig för att ta utmaningen att göra ett enhetslås som låser en enhet.
Vi vill alla ibland hålla användare borta från en enhet (särskilt en usb -enhet). Så det här programmet låser enheten för att förhindra att obehöriga användare får åtkomst till den.
Till skillnad från mitt skärmlås är detta skript ganska komplicerat. Främst för att jag lade till så många if's och then's bara för att ge en professionell känsla för att programmera.
Detta program gjordes i VBScript. I de närmaste stegen visar jag hur jag gjorde det.
Steg 1: Mitt program …
Du kan ladda ner mitt Drive Lock nedan:
Här är den råa VBScript -filen LINK. Du måste ta bort en av 's' i slutet så att det är 'DriveLock.vbs' eller vad du än vill ha så länge det slutar på.vbs.
Steg 2: Gör enhetslåset (del 1)
Här kommer jag att visa dig den första delen av enhetslåset … Den första bilden är vad som kommer upp när du kör programmet först.
Jag gjorde det så att du har tre alternativ här, att låsa en enhet, låsa upp enheterna eller avsluta.
Så här gjorde jag nu:
Funktion DisplayPrompt () intSplash = MsgBox ("Vad skulle du vilja göra?" & VbCrLf & vbCrLf _ & "[Klicka på JA för att låsa en enhet]" & vbCrLf _ & "[Klicka på NEJ för att låsa upp enheter)] ", 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 "HKB" / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "If Err. Number 0 Then MsgBox" Drives are already unlocked. ", 16, cTitleBarMsg DisplayPrompt () End If On Error Gå till 0 objWshShl. Run" Taskkill /f /im explorer.exe ", 0 WScript. Sleep 300 objWshShl. Run" cmd /c explorer.exe ", 0 MsgBox" Drive upplåst var framgångsrik! ", 64, cTitleBarMsg DisplayPrompt () End If End -funktion
Om du klickar på NEJ för att låsa upp enheten/enheterna raderas registernycklarna som innehåller inställningarna som låser/döljer enheten, och den kontrollerar också om enheten redan är upplåst. Sedan startar det om explorer.exe så att ändringarna träder i kraft direkt.
Om du klickar på Avbryt, visas stänkskärmen och stängs sedan.
Slutligen om du klickar på JA går det till nästa meny. Vilket jag kommer att förklara i nästa steg.
Steg 3: Göra enhetslåset (del 2)
Därefter visar jag dig menyn där du väljer vilken häxedrev du vill låsa (bild 1).
Ange colDrives = objFSO. Drives
För varje objDrive i colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space (10) Nästa strDrives = LCase (Ersätt (strDriveList, "", "", 1, -1)) Ange colDrives = objFSO. Drives strDriveList = "" För varje objDrive i colDrives strDriveList = strDriveList & objDrive. DriveLetter & ": \" & Mellanslag (5) Nästa
Inmatningsmeny ()
Sub InputMenu strChoice = InputBox ("Ange bokstaven för enheten du vill låsa." & _ "Eller skriv ALL för att låsa alla enheter." & _ Vbcrlf & vbcrlf & "Tillgängliga enheter" & Mellanslag (3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)
Den första koden skapar en lista över alla tillgängliga enheter. Nästa del är inmatningsboxen om du anger bokstaven på enheten som du vill låsa.
Om du försöker skriva in något annat än en giltig enhetsbokstav, och programmet kommer att neka det. Så här gjorde jag det:
If IsEmpty (strChoice) Då
DisplaySplashScreen () ElseIf strChoice = "" Då MsgBox "Lämna inte detta tomt.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "all" Then 'Do Nothing ElseIf Len (strChoice) 1 Then MsgBox "You must enter bokstaven ENDAST. ", 16, cTitleBarMsg InputMenu () ElseIf Not InStr (1, strDrives, LCase (strChoice), 1) 0 Då MsgBox" Ogiltigt val, försök igen. ", 16, cTitleBarMsg InputMenu () End If
De två första raderna kontrollerar om användaren träffade avbryt -knappen och om de gjorde programmet avslutas.
De följande tre raderna kontrollerar om användaren lämnade inmatningsområdet tomt.
Resten av koden är ganska förvirrande, men det är i princip bara att se till att användaren skrev in en giltig enhet.
Steg 4: Gör enhetslåset (del 3)
Av någon anledning kan registret inte läsa enhetsbrevet enbart, så det måste sättas in i ett motsvarande heltal. Det är vad den här koden nedan gör. För mer information om detta klicka här.
ElseIf strChoice = "a" Då
intDriveNumber = 1 ElseIf strChoice = "b" Sedan intDriveNumber = 2 ElseIf strChoice = "c" Sedan intDriveNumber = 4
När heltalet är konfigurerat kan skriptet nu skriva till registret med denna kod:
En annan anmärkning är att detta program skriver till HKLM istället för HKCU. HKLM påverkar alla användare istället för bara den nuvarande inloggade användaren så att låset blir mer effektivt.
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"
Steg 5: Drive Lock
Jag hoppas att du tyckte att detta var användbart. om du inte förstår en del av detta, skicka en kommentar eller pm mig.
Och snälla ge mig feedback om eventuella problem och betygsätt. Jag ägnade mycket tid åt detta.
Om du vill ladda ner råa vbs -filen, se bara till att den är sparad med ett.vbs -filtillägg. En annan trevlig sak med den är att den är bärbar så att du kan köra den från en flash -enhet och du inte behöver installera någonting.
Rekommenderad:
VBScript Basics - Starta dina skript, fördröjningar och mer !: 5 steg
VBScript Basics - Starta dina skript, fördröjningar och mer !: Välkommen till min första handledning om hur man gör VBScripts med anteckningsblock. Med.vbs -filer kan du skapa några roliga upptåg eller dödliga virus. I den här självstudien kommer jag att visa dig grundläggande kommandon som att starta ditt manus, öppna filer och mycket mer. Vid t
USB Rubber Ducky Script Encoder (VBScript): 5 steg
USB Rubber Ducky Script Encoder (VBScript): Om du har en USB Rubber Ducky vet du att en mycket irriterande uppgift är att kompilera ditt skript till a.bin -fil. Om du måste göra någon form av felsökning kommer du att veta att konstant nedladdning av ditt kompilerade manus kan vara en smärta. Så för att fixa detta
VBScript -skärmlås: 6 steg
VBScript Screen Lock: Jag har sett många skärmlås på internet, så jag bestämde mig för att försöka göra ett. Jag bestämde mig för att publicera den eftersom det kan vara mycket användbart att låsa din dator om du inte har ett lösenord på den. Så jag ska lära dig hur du gör det. Eller bara gå till steg
USB Thumb Drive Flash Drive Holder-GÖR EN BELTCLIP-INNEHÅLLARE: 5 steg
USB Thumb Drive Flash Drive Holder-GÖRA EN BELTCLIP-INNEHÅLLARE: Trött på att ha en USB-tummenhet runt halsen hela tiden? Var på modet genom att göra en BELTCLIP -INNEHÅLLARE av en sportcigarettändare
Toalettpappersrulle Flash Drive "The Flush Drive": 6 steg
Toalettpappersrulle Flash Drive "The Flush Drive": Åh nej! Jag har slut på toalettpapper! Men … istället för att slänga den tomma rullen, varför inte återanvända den?