Оглавление:

Блокировка диска VBScript: 5 шагов
Блокировка диска VBScript: 5 шагов

Видео: Блокировка диска VBScript: 5 шагов

Видео: Блокировка диска VBScript: 5 шагов
Видео: Разблокировка Bitlocker и Восстановление данных с поврежденного жесткого диска, клонирование DMDE 2024, Ноябрь
Anonim
Блокировка диска VBScript
Блокировка диска VBScript
Блокировка диска VBScript
Блокировка диска VBScript

Обновление: эта программа теперь имеет возможность скрывать указанные заблокированные диски

Сделав блокировку экрана, которая блокирует компьютер пользователя, я решил взять на себя задачу сделать блокировку диска, которая блокирует диск.

Все мы иногда хотим уберечь пользователей от доступа к накопителю (особенно к USB-накопителю). Таким образом, эта программа заблокирует диск, чтобы предотвратить доступ к нему неавторизованных пользователей.

В отличие от моей блокировки экрана, этот сценарий довольно сложен. В основном потому, что я добавил так много «если» и «то», просто чтобы придать программе профессиональный вид.

Эта программа была написана на VBScript. В следующих нескольких шагах я покажу вам, как я ее создал.

Шаг 1. Моя программа…

Моя программа…
Моя программа…

Вы можете скачать мою блокировку диска ниже:

Вот ссылка на необработанный файл VBScript. Вам нужно будет удалить один из "s" в конце, чтобы это был "DriveLock.vbs" или что угодно, если он заканчивается на.vbs.

Шаг 2: Изготовление блокировки привода (часть 1)

Изготовление блокировки привода (часть 1)
Изготовление блокировки привода (часть 1)
Изготовление блокировки привода (часть 1)
Изготовление блокировки привода (часть 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)

Делаем блокировку привода (часть 2)
Делаем блокировку привода (часть 2)
Делаем блокировку привода (часть 2)
Делаем блокировку привода (часть 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)

Блокировка привода (часть 3)
Блокировка привода (часть 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. Еще одна приятная вещь в нем - то, что он портативен, поэтому вы можете запускать его с флэш-накопителя, и вам не нужно ничего устанавливать.

Рекомендуемые: