جدول المحتويات:

VBScript Drive Lock: 5 خطوات
VBScript Drive Lock: 5 خطوات

فيديو: VBScript Drive Lock: 5 خطوات

فيديو: VBScript Drive Lock: 5 خطوات
فيديو: The PERFECT Deadlift (5 Steps) 2024, شهر نوفمبر
Anonim
VBScript Drive Lock
VBScript Drive Lock
VBScript Drive Lock
VBScript Drive Lock

تحديث: هذا البرنامج لديه الآن القدرة على إخفاء محركات الأقراص المؤمنة المحددة

بعد إجراء قفل الشاشة الذي يقفل جهاز الكمبيوتر الخاص بالمستخدمين ، قررت مواجهة التحدي المتمثل في إنشاء قفل محرك أقراص يقوم بإغلاق محرك الأقراص.

نرغب جميعًا في بعض الأحيان في إبعاد المستخدمين عن محرك الأقراص (خاصة محرك أقراص USB). لذلك سيقوم هذا البرنامج بإغلاق محرك الأقراص لمنع المستخدمين غير المصرح لهم من الوصول إليه.

على عكس قفل الشاشة الخاص بي ، فإن هذا البرنامج النصي معقد جدًا. بشكل أساسي لأنني أضفت الكثير من "إذا كان" ومن ثم فقط لإعطاء البرنامج إحساسًا احترافيًا.

تم إنشاء هذا البرنامج في VBScript. في الخطوات القليلة التالية سأوضح لك كيف صنعته.

الخطوة 1: برنامجي …

برنامجي…
برنامجي…

يمكنك تنزيل Drive Lock الخاص بي أدناه:

هنا هو ملف VBScript الخام LINK. سيتعين عليك إزالة أحد '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 "objWshShl. RegMDelete / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "إذا كان رقم الخطأ 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" Drive unlock كان succesfull! "، 64، cTitleBarMsg DisplayPrompt () End If End Function

إذا قمت بالنقر فوق "لا" لإلغاء تأمين محرك (محركات) الأقراص ، فسيتم حذف مفاتيح التسجيل التي تحتوي على الإعدادات التي تقوم بتأمين / إخفاء محرك الأقراص الذي يتحقق أيضًا لمعرفة ما إذا كان محرك الأقراص غير مؤمن بالفعل. ثم يقوم بإعادة تشغيل explorer.exe حتى تسري التغييرات على الفور.

إذا قمت بالنقر فوق "إلغاء الأمر" ، فسيتم عرض شاشة البداية ثم الخروج.

أخيرًا ، إذا قمت بالنقر فوق نعم ، فسيتم الانتقال إلى القائمة التالية. التي سأشرحها في الخطوة التالية.

الخطوة 3: عمل قفل المحرك (الجزء 2)

صنع قفل المحرك (الجزء 2)
صنع قفل المحرك (الجزء 2)
صنع قفل المحرك (الجزء 2)
صنع قفل المحرك (الجزء 2)

بعد ذلك سأعرض لك القائمة التي اخترت فيها محرك الساحرة الذي تريد قفله (صورة 1).

تعيين colDrives = objFSO. Drives

لكل كائن في colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space (10) التالي strDrives = LCase (استبدال (strDriveList، ""، ""، 1، -1)) تعيين colDrives = objFSO. Drives strDrive EveryList = " objDrive في colDrives strDriveList = strDriveList & objDrive. DriveLetter & ": \" & Space (5) التالي

InputMenu ()

Sub InputMenu strChoice = InputBox ("أدخل حرف محرك الأقراص الذي ترغب في قفله." & _ "أو اكتب ALL لقفل كافة محركات الأقراص." & _ vbcrlf & vbcrlf & "محركات الأقراص المتوفرة" والمسافة (3) & _ ":" & vbCrLf & vbCrLf & strDriveList، cTitleBarMsg)

يولد الجزء الأول من الكود قائمة بجميع محركات الأقراص المتاحة. الجزء التالي هو صندوق الإدخال الذي أدخلت فيه حرف محرك الأقراص الذي ترغب في قفله.

إذا حاولت كتابة أي شيء ما عدا حرف محرك أقراص صالح ، فسيرفضه البرنامج. إليك كيف فعلت ذلك:

إذا كان فارغًا (strChoice) ثم

DisplaySplashScreen () ElseIf strChoice = "ثم MsgBox" لا تترك هذا فارغًا. "، 16، cTitleBarMsg InputMenu () ElseIf LCase (strChoice) =" all "ثم" لا تفعل شيئًا آخر آخر Len (strChoice) 1 ثم 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: Drive Lock

آمل أن تكون قد وجدت هذه التعليمات مفيدة. إذا كنت لا تفهم جزءًا من هذا ، فالرجاء إرسال تعليق أو مراسلتي.

ويرجى إعطائي ملاحظات على أي مشاكل ويرجى تقييمها. قضيت الكثير من الوقت في هذا.

إذا كنت تريد تنزيل ملف vbs الخام ، فتأكد فقط من حفظه بامتداد ملف vbs. شيء جميل آخر حوله ، هو أنه محمول بحيث يمكنك تشغيله من محرك أقراص فلاش ولا تحتاج إلى تثبيت أي شيء.

موصى به: