فهرست مطالب:

قفل درایو VBScript: 5 مرحله
قفل درایو VBScript: 5 مرحله

تصویری: قفل درایو VBScript: 5 مرحله

تصویری: قفل درایو VBScript: 5 مرحله
تصویری: آموزش تعمیر ویندوز آسیب دیده | حل مشکل ارورهای عجیب ویندوز 2024, نوامبر
Anonim
قفل درایو VBScript
قفل درایو VBScript
قفل درایو VBScript
قفل درایو VBScript

به روز رسانی: این برنامه اکنون توانایی مخفی کردن درایوهای قفل شده مشخص شده را دارد

پس از ایجاد قفل صفحه که رایانه کاربران را قفل می کند ، تصمیم گرفتم قفل درایو را قفل کنم که درایو را قفل می کند.

همه ما گاهی اوقات می خواهیم کاربران را از درایو (به ویژه درایو usb) دور نگه داریم. بنابراین این برنامه درایو را قفل می کند تا از دسترسی کاربران غیرمجاز به آن جلوگیری کند.

برخلاف قفل صفحه من ، این اسکریپت بسیار پیچیده است. عمدتا به این دلیل که من تعداد زیادی از موارد if و then را فقط برای ایجاد حس حرفه ای به برنامه اضافه کردم.

این برنامه در VBScript ساخته شده است. در چند مرحله بعدی نحوه ساخت آن را به شما نشان خواهم داد.

مرحله 1: برنامه من…

برنامه من…
برنامه من…

در زیر می توانید Drive Lock من را بارگیری کنید:

در اینجا LINK فایل خام VBScript است. شما باید یکی از "s" ها را در انتها حذف کنید تا "DriveLock.vbs" یا آنچه می خواهید تا زمانی که به.vbs ختم می شود باشد.

مرحله 2: ایجاد قفل درایو (قسمت 1)

ساختن قفل درایو (قسمت 1)
ساختن قفل درایو (قسمت 1)
ساخت قفل درایو (قسمت 1)
ساخت قفل درایو (قسمت 1)

در اینجا من اولین قسمت قفل درایو را به شما نشان خواهم داد … اولین عکس چیزی است که هنگام اجرای اولین برنامه ظاهر می شود.

من این کار را کردم تا شما سه گزینه در اینجا داشته باشید ، قفل کردن درایو ، باز کردن قفل درایو (ها) یا خروج.

حالا نحوه انجام این کار به شرح زیر است:

عملکرد DisplayPrompt () intSplash = MsgBox ("دوست دارید چه کاری انجام دهید؟" & vbCrLf & vbCrLf _ & "[برای قفل کردن درایو روی بله کلیک کنید]" & vbCrLf _ & "[برای بازکردن درایو (ها) روی NO کلیک کنید] "، 35، cTitleBarMsg) If intSplash = 2 سپس DisplaySplashScreen () ElseIf intSplash = 7 سپس در Error Resume Next objWshShl. RegDelete" HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDmhl / "objWeWeWe \" / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "If Err. Number 0 سپس MsgBox" درایوها قبلاً باز هستند. "، 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 () End If End End

اگر روی NO برای باز کردن قفل درایو کلیک کنید ، کلیدهای رجیستری را که شامل تنظیماتی است که درایو را قفل می کند/مخفی می کند و همچنین بررسی می کند که آیا درایو قبلاً قفل شده است را حذف می کند. سپس explorer.exe را مجدداً راه اندازی می کند تا تغییرات بلافاصله اعمال شوند.

اگر روی لغو کلیک کنید ، صفحه نمایش چلپ چلوپ نمایش داده می شود و سپس خارج می شود.

در نهایت اگر روی YES کلیک کنید ، به منوی بعدی می رود. که در مرحله بعد توضیح خواهم داد.

مرحله 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 = "" سپس MsgBox "این قسمت را خالی نگذارید."، 16، cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "همه" سپس "هیچ کاری انجام ندهید اگر Len (strChoice) 1 سپس MsgBox" باید وارد کنید نامه فقط. "، 16، cTitleBarMsg InputMenu () ElseIn Not InStr (1، strDrives، LCase (strChoice)، 1) 0 سپس MsgBox" انتخاب نامعتبر ، لطفاً دوباره امتحان کنید. "، 16 ، cTitleBarMsg InputMenu () پایان اگر

دو خط اول بررسی می کند که آیا کاربر دکمه لغو را فشار داده است و آیا برنامه را خارج کرده است یا خیر.

سه خط بعدی بررسی می کند که آیا کاربر ناحیه ورودی را خالی گذاشته است یا خیر.

بقیه کد بسیار گیج کننده است ، اما اساساً فقط اطمینان حاصل می کند که کاربر درایو معتبری را تایپ کرده است.

مرحله 4: ایجاد قفل درایو (قسمت 3)

قفل کردن درایو (قسمت 3)
قفل کردن درایو (قسمت 3)

به دلایلی ، رجیستری نمی تواند حرف درایو را به تنهایی بخواند ، بنابراین باید در یک عدد صحیح مربوطه قرار گیرد. این کاری است که این کد زیر انجام می دهد. برای اطلاعات بیشتر در این مورد اینجا را کلیک کنید.

ElseIf strChoice = "a" سپس

intDriveNumber = 1 ElseIf strChoice = "b" سپس intDriveNumber = 2 ElseIf strChoice = "c" سپس intDriveNumber = 4

پس از پیکربندی عدد صحیح ، اسکریپت می تواند با استفاده از این کد به رجیستری بنویسد:

نکته دیگر این است که این برنامه به جای HKCU به HKLM می نویسد. HKLM بجای کاربر فعلی که بر روی آن وارد شده است ، همه کاربران را تحت تأثیر قرار می دهد تا قفل م effectiveثرتر باشد.

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 Lock

امیدوارم این آموزش مفید برای شما مفید واقع شده باشد. اگر بخشی از این موضوع را متوجه نشده اید ، لطفاً نظر دهید یا برای من پیام بگذارید.

و لطفاً در مورد هر مشکلی به من بازخورد دهید و لطفاً امتیاز دهید. من زمان زیادی را صرف این کار کردم.

اگر می خواهید فایل خام vbs را بارگیری کنید ، فقط مطمئن شوید که با پسوند فایل.vbs ذخیره شده است. یکی دیگر از ویژگی های خوب آن این است که قابل حمل است بنابراین می توانید آن را از روی درایو فلش اجرا کنید و نیازی به نصب هیچ چیزی ندارید.

توصیه شده: