Оглавление:
- Шаг 1. Моя программа…
- Шаг 2: Изготовление блокировки привода (часть 1)
- Шаг 3: Изготовление блокировки привода (часть 2)
- Шаг 4: создание блокировки привода (часть 3)
- Шаг 5: блокировка диска
Видео: Блокировка диска VBScript: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:50
Обновление: эта программа теперь имеет возможность скрывать указанные заблокированные диски
Сделав блокировку экрана, которая блокирует компьютер пользователя, я решил взять на себя задачу сделать блокировку диска, которая блокирует диск.
Все мы иногда хотим уберечь пользователей от доступа к накопителю (особенно к USB-накопителю). Таким образом, эта программа заблокирует диск, чтобы предотвратить доступ к нему неавторизованных пользователей.
В отличие от моей блокировки экрана, этот сценарий довольно сложен. В основном потому, что я добавил так много «если» и «то», просто чтобы придать программе профессиональный вид.
Эта программа была написана на VBScript. В следующих нескольких шагах я покажу вам, как я ее создал.
Шаг 1. Моя программа…
Вы можете скачать мою блокировку диска ниже:
Вот ссылка на необработанный файл VBScript. Вам нужно будет удалить один из "s" в конце, чтобы это был "DriveLock.vbs" или что угодно, если он заканчивается на.vbs.
Шаг 2: Изготовление блокировки привода (часть 1)
Здесь я покажу вам первую часть блокировки диска … Первый рисунок - это то, что появляется, когда вы впервые запускаете программу.
Я сделал так, чтобы у вас было три варианта: заблокировать диск, разблокировать диск (и) или выйти.
Вот как я это сделал:
Функция DisplayPrompt () intSplash = MsgBox ("Что бы вы хотели сделать?" & VbCrLf & vbCrLf _ & "[Нажмите ДА, чтобы заблокировать диск]" & vbCrLf _ & "[Нажмите НЕТ, чтобы разблокировать диск (и)] ", 35, cTitleBarMsg) Если intSplash = 2 Тогда DisplaySplashScreen () ElseIf intSplash = 7 Затем при ошибке Возобновить Далее objWshShl. RegDelete" HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDrive / HKLSHLETE Software "objWgLelete. / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "Если Err. Number 0, то MsgBox" Диски уже разблокированы. ", 16, cTitleBarMsg DisplayPrompt () End If On Error Перейти к 0 objWshShl. Run" Taskkill / f / im explorer.exe ", 0 WScript. Sleep 300 objWshShl. Run" cmd / c explorer.exe ", 0 MsgBox" Диск разблокирован успешно! ", 64, cTitleBarMsg DisplayPrompt () End If End Function
Если вы нажмете НЕТ, чтобы разблокировать диск (диски), он удалит разделы реестра, содержащие настройки, которые блокируют / скрывают диск, он также проверяет, разблокирован ли диск. Затем он перезапускает explorer.exe, чтобы изменения вступили в силу немедленно.
Если вы нажмете «Отмена», отобразится экран-заставка, а затем закроется.
Наконец, если вы нажмете ДА, произойдет переход к следующему меню. Что я объясню на следующем шаге.
Шаг 3: Изготовление блокировки привода (часть 2)
Далее я покажу вам меню, в котором вы выбираете диск, который хотите заблокировать (рис. 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 ("Введите букву диска, который вы хотите заблокировать." & _ "Или введите ALL, чтобы заблокировать все диски." & _ Vbcrlf & vbcrlf & "Доступные диски" & Space (3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)
Первый бит кода генерирует список всех доступных дисков. Следующая часть - это поле ввода, в котором вы вводите букву диска, который хотите заблокировать.
Если вы попытаетесь ввести что-нибудь, кроме допустимой буквы диска, программа откажется от этого. Вот как я это сделал:
Если IsEmpty (strChoice), то
DisplaySplashScreen () ElseIf strChoice = "" Then MsgBox "Не оставляйте это поле пустым.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "all" Then 'Больше ничего не делать Если Len (strChoice) 1 Then MsgBox "Вы должны ввести MsgBox" ТОЛЬКО буква. ", 16, cTitleBarMsg InputMenu () ElseIf Not InStr (1, strDrives, LCase (strChoice), 1) 0 Затем MsgBox« Неверный выбор, попробуйте еще раз. », 16, cTitleBarMsg InputMenu () End If
В первых двух строках проверяется, нажал ли пользователь кнопку отмены, и программа завершилась.
Следующие три строки проверяют, оставил ли пользователь поле ввода пустой.
Остальной код довольно запутанный, но в основном он просто проверяет, ввел ли пользователь допустимый диск.
Шаг 4: создание блокировки привода (часть 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: блокировка диска
Надеюсь, вы нашли это поучительное дело полезным. если вы чего-то не понимаете, оставьте комментарий или напишите мне в личку.
И, пожалуйста, дайте мне отзыв о любых проблемах и пожалуйста, оцените. Я потратил на это много времени.
Если вы хотите загрузить необработанный файл vbs, просто убедитесь, что он сохранен с расширением файла.vbs. Еще одна приятная вещь в нем - то, что он портативен, поэтому вы можете запускать его с флэш-накопителя, и вам не нужно ничего устанавливать.
Рекомендуемые:
Блокировка кольца NFC: 6 шагов (с изображениями)
NFC Ring Lock Box: Привет всем! Добро пожаловать на мой первый инструктаж! Я заранее прошу прощения за свой низкий уровень английского. В этом пошаговом руководстве я научу вас, как построить простой и очень дешевый блокировочный ящик с кольцом NFC
Блокировка RFID для виски и кока-колы: 9 шагов (с изображениями)
Блокировка RFID для виски и кока-колы: это руководство покажет вам, как сделать полностью напечатанную на 3D-принтере "Виски и кока-колу". Коробка замка RFID
Блокировка велосипеда с сигнализацией DIY (с активацией шока): 5 шагов (с изображениями)
DIY Alarm Bike Lock (Shock Activated): в этом проекте я покажу вам, как создать простой велосипедный замок с аварийной сигнализацией. Как следует из названия, он издает звуковой сигнал, когда ваш велосипед перемещается с разрешения. По пути мы узнаем немного о пьезоэле
Блокировка экрана VBScript: 6 шагов
Блокировка экрана VBScript: я видел много блокировок экрана в Интернете, поэтому решил попробовать сделать это. Я решил опубликовать его, потому что это может быть очень полезно для блокировки вашего компьютера, если на нем нет пароля. Итак, я научу вас, как это сделать. Или просто перейдите к шагу
Блокировка транзисторов своими руками SR: 7 шагов
Самостоятельная фиксация SR для транзисторов: SR-защелка - это разновидность схемы, которая называется «бистабильной». Бистабильные схемы имеют два стабильных состояния, отсюда и название BI-стабильные. Одной из наиболее простых версий такой схемы является защелка SR, что означает «Установить / сбросить защелку»