Πίνακας περιεχομένων:

VBScript Drive Lock: 5 Βήματα
VBScript Drive Lock: 5 Βήματα

Βίντεο: VBScript Drive Lock: 5 Βήματα

Βίντεο: VBScript Drive Lock: 5 Βήματα
Βίντεο: How to enable TPM & Secure boot in Asrock A320M / B450 motherboards 2024, Ιούλιος
Anonim
Κλείδωμα μονάδας δίσκου VBScript
Κλείδωμα μονάδας δίσκου VBScript
Κλείδωμα μονάδας δίσκου VBScript
Κλείδωμα μονάδας δίσκου VBScript

Ενημέρωση: Αυτό το πρόγραμμα έχει πλέον τη δυνατότητα απόκρυψης των καθορισμένων κλειδωμένων μονάδων δίσκου

Αφού έκανα κλείδωμα οθόνης που κλειδώνει τον υπολογιστή των χρηστών, αποφάσισα να αντιμετωπίσω την πρόκληση να κάνω ένα κλείδωμα μονάδας δίσκου που κλειδώνει μια μονάδα δίσκου.

Όλοι θέλουμε μερικές φορές να κρατάμε τους χρήστες μακριά από μια μονάδα δίσκου (ειδικά μια μονάδα usb). Έτσι, αυτό το πρόγραμμα θα κλειδώσει τη μονάδα δίσκου για να αποτρέψει την πρόσβαση μη εξουσιοδοτημένων χρηστών σε αυτήν.

Σε αντίθεση με το κλείδωμα οθόνης μου, αυτό το σενάριο είναι αρκετά περίπλοκο. Κυρίως επειδή πρόσθεσα τόσα πολλά αν και τότε μόνο για να δώσω στο πρόγραμμα μια επαγγελματική αίσθηση.

Αυτό το πρόγραμμα έγινε στο VBScript. Στα επόμενα βήματα θα σας δείξω πώς το κατάφερα.

Βήμα 1: Το πρόγραμμά μου…

Το πρόγραμμά μου…
Το πρόγραμμά μου…

Μπορείτε να κατεβάσετε το Drive Lock μου παρακάτω:

Εδώ είναι το ακατέργαστο αρχείο VBScript LINK. Θα πρέπει να αφαιρέσετε ένα από τα "s" στο τέλος, έτσι ώστε να είναι "DriveLock.vbs" ή ό, τι άλλο θέλετε, αρκεί να καταλήξει σε.vbs.

Βήμα 2: Κάνοντας το Drive Lock (μέρος 1)

Κάνοντας το Drive Lock (μέρος 1)
Κάνοντας το Drive Lock (μέρος 1)
Κάνοντας το Drive Lock (μέρος 1)
Κάνοντας το Drive Lock (μέρος 1)

Εδώ θα σας δείξω το πρώτο μέρος της κλειδαριάς μονάδας δίσκου … Η πρώτη φωτογραφία είναι αυτό που εμφανίζεται όταν εκτελείτε για πρώτη φορά το πρόγραμμα.

Το έκανα έτσι ώστε να έχετε τρεις επιλογές εδώ, να κλειδώσετε μια μονάδα δίσκου, να ξεκλειδώσετε δίσκους ή να βγείτε.

Τώρα εδώ είναι πώς το έκανα:

Λειτουργία DisplayPrompt () intSplash = MsgBox ("Τι θα θέλατε να κάνετε;" & vbCrLf & vbCrLf _ & "[Κάντε κλικ στο ΝΑΙ για να κλειδώσετε μια μονάδα δίσκου]" & vbCrLf _ & "[Κάντε κλικ στο ΟΧΙ για να ξεκλειδώσετε τη μονάδα δίσκου] ", 35, cTitleBarMsg) If intSplash = 2 Στη συνέχεια DisplaySplashScreen () ElseIf intSplash = 7 Στη συνέχεια On Error Resume Next objWshShl. RegDelete" HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDmhl / "\" / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "If Err. Number 0 Then MsgBox" Drives are ήδη 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" Ο ξεκλειδωμένος δίσκος ήταν επιτυχής! ", 64, cTitleBarMsg DisplayPrompt () Τέλος αν η λειτουργία τερματισμού

Εάν κάνετε κλικ στο ΟΧΙ για να ξεκλειδώσετε τη μονάδα δίσκου, διαγράφει τα κλειδιά μητρώου που περιέχουν τις ρυθμίσεις που κλειδώνουν/αποκρύπτουν τη μονάδα δίσκου, ελέγχει επίσης εάν η μονάδα είναι ήδη ξεκλειδωμένη. Στη συνέχεια, κάνει επανεκκίνηση του explorer.exe, έτσι ώστε οι αλλαγές να τεθούν σε ισχύ αμέσως.

Εάν κάνετε κλικ στο κουμπί Ακύρωση, εμφανίζεται η οθόνη εκτόξευσης και μετά βγαίνει.

Τέλος, αν κάνετε κλικ στο ΝΑΙ τότε πηγαίνει στο επόμενο μενού. Το οποίο θα εξηγήσω στο επόμενο βήμα.

Βήμα 3: Κάνοντας το Drive Lock (μέρος 2)

Κάνοντας το Drive Lock (μέρος 2)
Κάνοντας το Drive Lock (μέρος 2)
Κάνοντας το Drive Lock (μέρος 2)
Κάνοντας το Drive Lock (μέρος 2)

Στη συνέχεια, θα σας δείξω το μενού που επιλέξατε το witch drive που θέλετε να κλειδώσετε (εικόνα 1).

Ορισμός colDrives = objFSO. Drives

Για κάθε objDrive στο colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space (10) Επόμενο strDrives = LCase (Αντικατάσταση (strDriveList, "", "", 1, -1)) Ορισμός colDrives = objFSO. Drives strDriveList = " objDrive στο colDrives strDriveList = strDriveList & objDrive. DriveLetter & ": \" & Space (5) Επόμενο

InputMenu ()

Sub InputMenu strChoice = InputBox ("Εισαγάγετε γράμμα της μονάδας δίσκου που θέλετε να κλειδώσετε." & _ "Type πληκτρολογήστε ALL για να κλειδώσετε όλες τις μονάδες δίσκου." & _ Vbcrlf & vbcrlf & "Available drives" & Space (3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

Το πρώτο κομμάτι κώδικα δημιουργεί μια λίστα με όλες τις διαθέσιμες μονάδες δίσκου. Το επόμενο μέρος είναι το πλαίσιο εισόδου εάν εισαγάγατε το γράμμα της μονάδας δίσκου που θα θέλατε να κλειδώσετε.

Εάν προσπαθήσετε να πληκτρολογήσετε οτιδήποτε εκτός από ένα έγκυρο γράμμα μονάδας δίσκου, και το πρόγραμμα θα το αρνηθεί. Ιδού πώς το έκανα:

Εάν IsEmpty (strChoice) Τότε

DisplaySplashScreen () ElseIf strChoice = "" Τότε MsgBox "Μην το αφήσετε κενό.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "all" Στη συνέχεια "Μην κάνετε τίποτα άλλο Αν Len (strChoice) 1 Στη συνέχεια, πρέπει να εισαγάγετε το γράμμα ΜΟΝΟ"

Οι δύο πρώτες γραμμές ελέγχουν εάν ο χρήστης χτύπησε το κουμπί ακύρωσης και εάν έκανε έξοδο από το πρόγραμμα.

Οι επόμενες τρεις γραμμές ελέγχουν εάν ο χρήστης άφησε κενή την περιοχή εισόδου.

Ο υπόλοιπος κώδικας είναι αρκετά μπερδεμένος, αλλά βασικά βεβαιώνεται ότι ο χρήστης πληκτρολόγησε μια έγκυρη μονάδα δίσκου.

Βήμα 4: Κάνοντας το Drive Lock (Μέρος 3)

Κάνοντας το Drive Lock (Μέρος 3)
Κάνοντας το Drive Lock (Μέρος 3)

Για κάποιο λόγο, το μητρώο δεν μπορεί να διαβάσει μόνο το γράμμα της μονάδας δίσκου, οπότε πρέπει να εισαχθεί σε έναν αντίστοιχο ακέραιο αριθμό. Αυτό κάνει ο παρακάτω κώδικας. Για περισσότερες πληροφορίες σχετικά με αυτό κάντε κλικ εδώ.

ElseIf strChoice = "a" Τότε

intDriveNumber = 1 ElseIf strChoice = "b" Στη συνέχεια intDriveNumber = 2 ElseIf strChoice = "c" Στη συνέχεια intDriveNumber = 4

Μόλις διαμορφωθεί ο ακέραιος, το σενάριο μπορεί τώρα να γράψει στο μητρώο χρησιμοποιώντας αυτόν τον κωδικό:

Μια άλλη σημείωση, είναι ότι αυτό το πρόγραμμα γράφει σε HKLM αντί για HKCU. Το HKLM επηρεάζει όλους τους χρήστες αντί για τον τρέχοντα συνδεδεμένο χρήστη, έτσι ώστε το κλείδωμα να είναι πιο αποτελεσματικό.

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"

Βήμα 5: Κλείδωμα Drive

Ελπίζω να βρήκατε αυτό το διδακτικό χρήσιμο. Εάν δεν καταλαβαίνετε ένα μέρος αυτού, παρακαλώ δημοσιεύστε ένα σχόλιο ή στείλτε μου μήνυμα.

Παρακαλώ δώστε μου σχόλια για τυχόν προβλήματα και βαθμολογήστε. Πέρασα πολύ χρόνο σε αυτό.

Εάν θέλετε να κάνετε λήψη του ακατέργαστου αρχείου vbs, βεβαιωθείτε ότι έχει αποθηκευτεί με επέκταση αρχείου.vbs. Ένα άλλο ωραίο πράγμα σε αυτό, είναι ότι είναι φορητό ώστε να μπορείτε να το τρέξετε από μια μονάδα flash και δεν χρειάζεται να εγκαταστήσετε τίποτα.

Συνιστάται: