Spisu treści:

Blokada dysku VBScript: 5 kroków
Blokada dysku VBScript: 5 kroków

Wideo: Blokada dysku VBScript: 5 kroków

Wideo: Blokada dysku VBScript: 5 kroków
Wideo: Windows 10: Nie można znaleźć pliku skryptu C:\Windows\run.vbs 2024, Listopad
Anonim
Blokada dysku VBScript
Blokada dysku VBScript
Blokada dysku VBScript
Blokada dysku VBScript

Aktualizacja: Ten program ma teraz możliwość ukrywania określonych zablokowanych dysków

Po wykonaniu blokady ekranu, która blokuje komputer użytkownika, postanowiłem podjąć wyzwanie stworzenia blokady dysku, która blokuje dysk.

Wszyscy czasami chcemy trzymać użytkowników z dala od dysku (zwłaszcza dysku USB). Tak więc ten program zablokuje dysk, aby uniemożliwić nieautoryzowanym użytkownikom dostęp do niego.

W przeciwieństwie do mojej blokady ekranu ten skrypt jest dość skomplikowany. Głównie dlatego, że dodałem tak wiele "jeżeli", a potem tylko po to, by nadać programowi profesjonalny charakter.

Ten program został napisany w VBScript. W następnych kilku krokach pokażę jak go stworzyłem.

Krok 1: Mój program…

Mój program…
Mój program…

Moją blokadę dysku możesz pobrać poniżej:

Oto surowy plik VBScript LINK. Będziesz musiał usunąć jeden z „s” na końcu, więc jest to „DriveLock.vbs” lub cokolwiek chcesz, o ile kończy się na.vbs.

Krok 2: Wykonanie blokady napędu (część 1)

Tworzenie blokady napędu (część 1)
Tworzenie blokady napędu (część 1)
Tworzenie blokady napędu (część 1)
Tworzenie blokady napędu (część 1)

Tutaj pokażę ci pierwszą część blokady dysku… Pierwsze zdjęcie pokazuje, co pojawia się po pierwszym uruchomieniu programu.

Zrobiłem to tak, że masz tutaj trzy opcje, aby zablokować dysk, odblokować dysk (dyski) lub wyjść.

Oto jak to zrobiłem:

Function DisplayPrompt() intSplash = MsgBox("Co chcesz zrobić?" & vbCrLf & vbCrLf _ & "[Kliknij TAK, aby zablokować napęd] " & vbCrLf _ & "[Kliknij NIE, aby odblokować napęd(y)] ", 35, cTitleBarMsg) If intSplash = 2 Then DisplaySplashScreen() ElseIf intSplash = 7 Następnie po błędzie Wznów Dalej objWshShl. RegDelete "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoViewDeletOnDrivehl"HKWReg \Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives" Jeśli Err. Number 0 Następnie MsgBox "Dyski są już odblokowane.", 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 "Dysk odblokowany powiódł się!", 64, cTitleBarMsg DisplayPrompt() End If End Function

Kliknięcie przycisku NIE w celu odblokowania dysków powoduje usunięcie kluczy rejestru zawierających ustawienia blokujące/ukrywające dysk, a także sprawdza, czy dysk jest już odblokowany. Następnie uruchamia ponownie explorer.exe, aby zmiany zaczęły obowiązywać natychmiast.

Kliknięcie anuluj spowoduje wyświetlenie ekranu powitalnego, a następnie zamknięcie.

Wreszcie, jeśli klikniesz TAK, przejdzie do następnego menu. Co wyjaśnię w następnym kroku.

Krok 3: Tworzenie blokady napędu (część 2)

Tworzenie blokady napędu (część 2)
Tworzenie blokady napędu (część 2)
Tworzenie blokady napędu (część 2)
Tworzenie blokady napędu (część 2)

Następnie pokażę Ci menu, w którym wybrałeś napęd, który chcesz zablokować (zdjęcie 1).

Ustaw colDrives = objFSO. Drives

For Each objDrive w colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space(10) Next strDrives = LCase(Replace(strDriveList, " ", "", 1, -1)) Ustaw colDrives = objFSO. Drives strDriveList = "" For Each objDrive w colDrives strDriveList = strDriveList & objDrive. DriveLetter & ":\" & Space(5) Dalej

WejścieMenu()

Sub InputMenu strChoice = InputBox("Wprowadź literę dysku, który chcesz zablokować." & _ " Lub wpisz ALL, aby zablokować wszystkie dyski." & _ vbcrlf & vbcrlf & "Dostępne dyski" & Spacja(3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

Pierwszy bit kodu generuje listę wszystkich dostępnych dysków. Następna część to pole wprowadzania, w którym wpisujesz literę dysku, który chcesz zablokować.

Jeśli spróbujesz wpisać cokolwiek poza prawidłową literą dysku, program odrzuci to. Oto jak to zrobiłem:

Jeśli IsEmpty(strChoice) Wtedy

DisplaySplashScreen() ElseIf strChoice = "" Then MsgBox "Nie zostawiaj tego pustego.", 16, cTitleBarMsg InputMenu() ElseIf LCase(strChoice) = "all" Then 'Nie rób nic innego Len(strChoice) 1 Then MsgBox "Musisz wpisać TYLKO literę.", 16, cTitleBarMsg InputMenu() ElseIf Not InStr(1, strDrives, LCase(strChoice), 1) 0 Then MsgBox "Nieprawidłowy wybór, spróbuj ponownie.", 16, cTitleBarMsg InputMenu() End If

Pierwsze dwie linie sprawdzają, czy użytkownik nacisnął przycisk anulowania i czy to zrobił, program został zamknięty.

Następne trzy wiersze sprawdzają, czy użytkownik pozostawił pusty obszar wprowadzania.

Reszta kodu jest dość myląca, ale w zasadzie chodzi tylko o upewnienie się, że użytkownik wpisał prawidłowy dysk.

Krok 4: Tworzenie blokady napędu (część 3)

Tworzenie blokady napędu (część 3)
Tworzenie blokady napędu (część 3)

Z jakiegoś powodu rejestr nie może odczytać samej litery dysku, więc należy ją umieścić w odpowiedniej liczbie całkowitej. To właśnie robi poniższy kod. Aby uzyskać więcej informacji na ten temat, kliknij tutaj.

ElseIf strChoice = "a" Then

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

Po skonfigurowaniu liczby całkowitej skrypt może teraz zapisywać do rejestru za pomocą tego kodu:

Inną uwagą jest to, że ten program zapisuje do HKLM zamiast do HKCU. HKLM wpływa na wszystkich użytkowników, a nie tylko na aktualnie zalogowanego użytkownika, dzięki czemu blokada jest bardziej skuteczna.

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"

Krok 5: Blokada dysku

Mam nadzieję, że ta instrukcja okazała się pomocna. jeśli nie rozumiesz części tego, napisz komentarz lub napisz do mnie.

I proszę o opinie na temat wszelkich problemów i proszę ocenić. Spędziłem nad tym dużo czasu.

Jeśli chcesz pobrać surowy plik vbs, upewnij się, że jest on zapisany z rozszerzeniem.vbs. Kolejną fajną rzeczą jest to, że jest przenośny, więc można go uruchomić z dysku flash i nie trzeba niczego instalować.

Zalecana: