Inhaltsverzeichnis:
- Schritt 1: Mein Programm…
- Schritt 2: Herstellen der Laufwerksperre (Teil 1)
- Schritt 3: Herstellen der Laufwerksperre (Teil 2)
- Schritt 4: Herstellen der Laufwerksperre (Teil 3)
- Schritt 5: Laufwerksperre
Video: VBScript-Laufwerksperre - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:17
Update: Dieses Programm hat jetzt die Möglichkeit, die angegebenen gesperrten Laufwerke auszublenden
Nachdem ich meine Bildschirmsperre erstellt hatte, die den Computer des Benutzers sperrt, beschloss ich, die Herausforderung anzunehmen, eine Laufwerkssperre zu erstellen, die ein Laufwerk sperrt.
Wir alle möchten manchmal Benutzer von einem Laufwerk fernhalten (insbesondere einem USB-Laufwerk). Dieses Programm sperrt also das Laufwerk, um zu verhindern, dass unbefugte Benutzer darauf zugreifen können.
Im Gegensatz zu meiner Bildschirmsperre ist dieses Skript ziemlich kompliziert. Hauptsächlich, weil ich so viele Wenn und Dann hinzugefügt habe, nur um dem Programm ein professionelles Gefühl zu geben.
Dieses Programm wurde in VBScript erstellt. In den nächsten Schritten zeige ich Ihnen, wie ich es gemacht habe.
Schritt 1: Mein Programm…
Sie können meine Drive Lock unten herunterladen:
Hier ist die rohe VBScript-Datei LINK. Sie müssen eines der 's' am Ende entfernen, damit es 'DriveLock.vbs' ist oder was auch immer Sie wollen, solange es auf.vbs endet.
Schritt 2: Herstellen der Laufwerksperre (Teil 1)
Hier zeige ich Ihnen den ersten Teil der Laufwerkssperre … Das erste Bild ist das, was beim ersten Ausführen des Programms angezeigt wird.
Ich habe es so gemacht, dass Sie hier drei Optionen haben, ein Laufwerk zu sperren, Laufwerke zu entsperren oder zu beenden.
Jetzt habe ich es so gemacht:
Function DisplayPrompt() intSplash = MsgBox("Was möchten Sie tun?" & vbCrLf & vbCrLf _ & "[Klicken Sie auf JA, um ein Laufwerk zu sperren] " & vbCrLf _ & "[Klicken Sie auf NEIN, um Laufwerk(e) zu entsperren] ", 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. RegDelete "HKLM\Software \Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives" If Err. Number 0 Then MsgBox "Laufwerke sind bereits entsperrt.", 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 "Laufwerk entsperrt war erfolgreich!", 64, cTitleBarMsg DisplayPrompt() End If End Function
Wenn Sie auf NEIN klicken, um das/die Laufwerk(e) zu entsperren, werden die Registrierungsschlüssel gelöscht, die die Einstellungen zum Sperren/Verbergen des Laufwerks enthalten. Außerdem wird überprüft, ob das Laufwerk bereits entsperrt ist. Anschließend wird explorer.exe neu gestartet, damit die Änderungen sofort wirksam werden.
Wenn Sie auf Abbrechen klicken, wird der Begrüßungsbildschirm angezeigt und dann beendet.
Wenn Sie schließlich auf JA klicken, gelangen Sie zum nächsten Menü. Was ich im nächsten Schritt erklären werde.
Schritt 3: Herstellen der Laufwerksperre (Teil 2)
Als nächstes zeige ich Ihnen das Menü, in dem Sie das Laufwerk auswählen, das Sie sperren möchten (Bild 1).
Setze colDrives = objFSO. Drives
For Each objDrive in colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space(10) Next strDrives = LCase(Replace(strDriveList, " ", "", 1, -1)) Set colDrives = objFSO. Drives strDriveList = "" For Each objDrive in colDrives strDriveList = strDriveList & objDrive. DriveLetter & ":\" & Space(5) Weiter
Eingabemenü()
Sub InputMenu strChoice = InputBox("Geben Sie den Buchstaben des Laufwerks ein, das Sie sperren möchten." & _ "Oder geben Sie ALLE ein, um alle Laufwerke zu sperren." & _ vbcrlf & vbcrlf & "Verfügbare Laufwerke" & Space(3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)
Das erste Codebit generiert eine Liste aller verfügbaren Laufwerke. Der nächste Teil ist das Eingabefeld, in das Sie den Buchstaben des Laufwerks eingeben, das Sie sperren möchten.
Wenn Sie versuchen, etwas anderes als einen gültigen Laufwerksbuchstaben einzugeben, wird das Programm dies ablehnen. So habe ich das gemacht:
If IsEmpty(strChoice) Then
DisplaySplashScreen() ElseIf strChoice = "" Then MsgBox "Lass dies nicht leer.", 16, cTitleBarMsg InputMenu() ElseIf LCase(strChoice) = "all" Then 'Do Nothing ElseIf Len(strChoice) 1 Then MsgBox "Sie müssen eingeben NUR der Buchstabe.", 16, cTitleBarMsg InputMenu() ElseIf Not InStr(1, strDrives, LCase(strChoice), 1) 0 Then MsgBox "Ungültige Auswahl, bitte versuchen Sie es erneut.", 16, cTitleBarMsg InputMenu() End If
In den ersten beiden Zeilen wird überprüft, ob der Benutzer die Schaltfläche Abbrechen gedrückt hat, und wenn dies der Fall ist, wird das Programm beendet.
In den nächsten drei Zeilen wird überprüft, ob der Benutzer den Eingabebereich leer gelassen hat.
Der Rest des Codes ist ziemlich verwirrend, aber im Grunde stellt er nur sicher, dass der Benutzer ein gültiges Laufwerk eingegeben hat.
Schritt 4: Herstellen der Laufwerksperre (Teil 3)
Aus irgendeinem Grund kann die Registrierung den Laufwerksbuchstaben nicht allein lesen, daher muss er in eine entsprechende Ganzzahl gesetzt werden. Das ist, was dieser Code unten tut. Für weitere Informationen hierzu klicken Sie hier.
ElseIf strChoice = "a" Then
intDriveNumber = 1 ElseIf strChoice = "b" Then intDriveNumber = 2 ElseIf strChoice = "c" Then intDriveNumber = 4
Sobald die Ganzzahl konfiguriert ist, kann das Skript jetzt mit diesem Code in die Registrierung schreiben:
Ein weiterer Hinweis ist, dass dieses Programm in HKLM statt in HKCU schreibt. HKLM betrifft alle Benutzer und nicht nur den aktuell angemeldeten Benutzer, damit die Sperre wirksamer ist.
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"
Schritt 5: Laufwerksperre
Ich hoffe, Sie fanden dieses instructable hilfreich. Wenn du einen Teil davon nicht verstehst, poste bitte einen Kommentar oder PN an mich.
Und bitte gebt mir Feedback zu eventuellen Problemen und bitte bewertet. Ich habe viel Zeit damit verbracht.
Wenn Sie die VBS-Rohdatei herunterladen möchten, stellen Sie einfach sicher, dass sie mit der Dateierweiterung.vbs gespeichert ist. Eine weitere schöne Sache ist, dass es portabel ist, sodass Sie es von einem Flash-Laufwerk ausführen können und nichts installieren müssen.