Mục lục:

Khóa ổ đĩa VBScript: 5 bước
Khóa ổ đĩa VBScript: 5 bước

Video: Khóa ổ đĩa VBScript: 5 bước

Video: Khóa ổ đĩa VBScript: 5 bước
Video: VB Scripts Wincc TIA Portal Lession 5 [ Export data to file CSV/Excell using VBScript Wincc RT Pro] 2024, Tháng bảy
Anonim
Khóa ổ đĩa VBScript
Khóa ổ đĩa VBScript
Khóa ổ đĩa VBScript
Khóa ổ đĩa VBScript

Cập nhật: Chương trình này hiện có khả năng ẩn các ổ đĩa bị khóa được chỉ định

Sau khi thực hiện khóa màn hình để khóa máy tính người dùng, tôi quyết định thực hiện thử thách làm khóa ổ đĩa để khóa ổ đĩa.

Tất cả chúng ta đôi khi muốn ngăn người dùng không sử dụng ổ đĩa (đặc biệt là ổ USB). Vì vậy, chương trình này sẽ khóa ổ đĩa để ngăn người dùng trái phép truy cập vào nó.

Không giống như khóa màn hình của tôi, tập lệnh này khá phức tạp. Chủ yếu là vì tôi đã thêm rất nhiều nếu và sau đó chỉ để mang lại cảm giác chuyên nghiệp cho chương trình.

Chương trình này được thực hiện bằng VBScript. Trong vài bước tiếp theo, tôi sẽ chỉ cho bạn cách tôi thực hiện nó.

Bước 1: Chương trình của tôi…

Chương trình của tôi…
Chương trình của tôi…

Bạn có thể tải xuống Drive Lock của tôi bên dưới:

Đây là LINK tệp VBScript thô. Bạn sẽ phải xóa một trong các 's' ở cuối để nó là 'DriveLock.vbs' hoặc những gì bạn muốn miễn là nó kết thúc bằng.vbs.

Bước 2: Tạo ổ khóa (phần 1)

Làm ổ khóa (phần 1)
Làm ổ khóa (phần 1)
Làm ổ khóa (phần 1)
Làm ổ khóa (phần 1)

Ở đây tôi sẽ chỉ cho bạn phần đầu tiên của ổ khóa… Hình ảnh đầu tiên là những gì xuất hiện khi bạn lần đầu tiên chạy chương trình.

Tôi đã tạo ra nó để bạn có ba tùy chọn ở đây, để khóa ổ đĩa, mở khóa (các) ổ đĩa hoặc thoát.

Bây giờ đây là cách tôi đã làm điều đó:

Hàm DisplayPrompt () intSplash = MsgBox ("Bạn muốn làm gì?" & VbCrLf & vbCrLf _ & "[Nhấp vào CÓ để khóa ổ]" & vbCrLf _ & "[Nhấp vào KHÔNG để mở khóa (các) ổ] ", 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. RegMDelete Software" / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "If Err. Number 0 Then MsgBox" Ổ đĩa đã được mở khóa. ", 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" Ổ đĩa đã mở khóa là succesfull! ", 64, cTitleBarMsg DisplayPrompt () End If End Function

Nếu bạn nhấp vào KHÔNG để mở khóa (các) ổ, nó sẽ xóa các khóa đăng ký có chứa các cài đặt khóa / ẩn ổ, nó cũng sẽ kiểm tra xem ổ đã được mở khóa hay chưa. Sau đó, nó khởi động lại explorer.exe để các thay đổi có hiệu lực ngay lập tức.

Nếu bạn nhấp vào hủy, nó sẽ hiển thị màn hình giật gân và sau đó thoát ra.

Cuối cùng nếu bạn nhấp vào CÓ thì nó sẽ chuyển đến menu tiếp theo. Mà tôi sẽ giải thích trong bước tiếp theo.

Bước 3: Tạo ổ khóa (phần 2)

Làm ổ khóa (phần 2)
Làm ổ khóa (phần 2)
Làm ổ khóa (phần 2)
Làm ổ khóa (phần 2)

Tiếp theo, tôi sẽ hiển thị cho bạn menu mà bạn chọn ổ phù thủy bạn muốn khóa (hình 1).

Đặt colDrives = objFSO. Drives

Đối với mỗi objDrive trong colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space (10) Tiếp theo strDrives = LCase (Thay thế (strDriveList, "", "", 1, -1)) Đặt colDrives = objFSO. Drives strDriveList = "" Cho mỗi objDrive trong colDrives strDriveList = strDriveList & objDrive. DriveLetter & ": \" & Space (5) Tiếp theo

InputMenu ()

Sub InputMenu strChoice = InputBox ("Nhập ký tự của ổ đĩa bạn muốn khóa." & _ "Hoặc gõ ALL để khóa tất cả các ổ đĩa." & _ Vbcrlf & vbcrlf & "Các ổ đĩa còn trống" & Dấu cách (3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

Bit đầu tiên của mã tạo ra một danh sách tất cả các ổ đĩa có sẵn. Phần tiếp theo là hộp nhập liệu bạn nhập ký tự của ổ đĩa mà bạn muốn khóa.

Nếu bạn thử nhập bất cứ thứ gì ngoài ký tự ổ đĩa hợp lệ và chương trình sẽ từ chối nó. Đây là cách tôi đã làm điều đó:

Nếu IsEmpty (strChoice) Thì

DisplaySplashScreen () ElseIf strChoice = "" Then MsgBox "Đừng để trống phần này.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "all" Then 'Do Nothing ElseIf Len (strChoice) 1 Sau đó MsgBox "Bạn phải nhập chữ cái CHỈ. ", 16, cTitleBarMsg InputMenu () ElseIf Not InStr (1, strDrives, LCase (strChoice), 1) 0 Sau đó MsgBox" Lựa chọn không hợp lệ, vui lòng thử lại. ", 16, cTitleBarMsg InputMenu () End If

Hai dòng đầu tiên kiểm tra xem người dùng có nhấn nút hủy hay không và chương trình có thoát hay không.

Ba dòng tiếp theo sẽ kiểm tra xem người dùng có để trống vùng nhập hay không.

Phần còn lại của đoạn mã khá khó hiểu, nhưng về cơ bản nó chỉ đảm bảo rằng người dùng đã nhập vào một ổ đĩa hợp lệ.

Bước 4: Tạo ổ khóa (Phần 3)

Tạo ổ khóa (Phần 3)
Tạo ổ khóa (Phần 3)

Vì một số lý do mà sổ đăng ký không thể đọc ký tự ổ đĩa một mình, vì vậy nó phải được đặt vào một số nguyên tương ứng. Đó là những gì đoạn mã dưới đây đang làm. Để biết thêm thông tin về điều này bấm vào đây.

ElseIf strChoice = "a" Sau đó

intDriveNumber = 1 ElseIf strChoice = "b" Thì intDriveNumber = 2 ElseIf strChoice = "c" Thì intDriveNumber = 4

Sau khi số nguyên được định cấu hình, tập lệnh bây giờ có thể ghi vào sổ đăng ký bằng cách sử dụng mã này:

Một lưu ý khác, là chương trình này ghi vào HKLM thay vì HKCU. HKLM ảnh hưởng đến tất cả người dùng thay vì chỉ người dùng đã đăng nhập hiện tại để khóa hiệu quả hơn.

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"

Bước 5: Khóa ổ đĩa

Tôi hy vọng bạn thấy hướng dẫn này hữu ích. nếu bạn không hiểu một phần của điều này, xin vui lòng gửi một bình luận hoặc pm cho tôi.

Và xin vui lòng cho tôi phản hồi về bất kỳ vấn đề và vui lòng đánh giá. Tôi đã dành rất nhiều thời gian cho việc này.

Nếu bạn muốn tải xuống tệp vbs thô, chỉ cần đảm bảo rằng tệp được lưu bằng phần mở rộng tệp.vbs. Một điều thú vị khác về nó, là nó có thể di động nên bạn có thể chạy nó từ ổ đĩa flash và không cần cài đặt bất cứ thứ gì.

Đề xuất: