תוכן עניינים:

נעילת כונן VBScript: 5 שלבים
נעילת כונן VBScript: 5 שלבים

וִידֵאוֹ: נעילת כונן VBScript: 5 שלבים

וִידֵאוֹ: נעילת כונן VBScript: 5 שלבים
וִידֵאוֹ: Bulletproofing IT: Secured-core Technology in Windows 11 and Server 2022. 2024, נוֹבֶמבֶּר
Anonim
נעילת כונן VBScript
נעילת כונן VBScript
נעילת כונן VBScript
נעילת כונן VBScript

עדכון: לתוכנית זו יש כעת אפשרות להסתיר את הכוננים הנעולים שצוינו

לאחר שביצעתי את נעילת המסך שלי אשר נועלת את מחשב המשתמשים החלטתי לקחת את האתגר של ביצוע מנעול כונן שנועל כונן.

כולנו לפעמים רוצים להרחיק את המשתמשים מכונן (במיוחד כונן USB). אז תוכנית זו תנעל את הכונן כדי למנוע ממשתמשים לא מורשים לקבל גישה אליו.

שלא כמו נעילת המסך שלי תסריט זה די מסובך. בעיקר כי הוספתי כל כך הרבה אם אם ואז רק כדי לתת לתכנות תחושה מקצועית.

תוכנית זו נעשתה ב- VBScript. בשלבים הבאים אראה לך כיצד הצלחתי.

שלב 1: התוכנית שלי …

התוכנית שלי…
התוכנית שלי…

אתה יכול להוריד את Drive Lock שלי למטה:

להלן קובץ ה- VBScript הגולמי LINK. יהיה עליך להסיר אחד מה- 'בסוף' כך שזה 'DriveLock.vbs' או מה שאתה רוצה כל עוד זה מסתיים ב-.vbs.

שלב 2: ביצוע נעילת הכונן (חלק 1)

ביצוע נעילת הכונן (חלק 1)
ביצוע נעילת הכונן (חלק 1)
ביצוע נעילת הכונן (חלק 1)
ביצוע נעילת הכונן (חלק 1)

כאן אראה לך את החלק הראשון של נעילת הכונן … התמונה הראשונה היא מה שעולה בפעם הראשונה שאתה מפעיל את התוכנית.

עשיתי את זה כך שיש לך שלוש אפשרויות כאן, לנעול כונן, לפתוח את הכונן (ים) או לצאת.

עכשיו הנה איך עשיתי את זה:

Function DisplayPrompt () intSplash = MsgBox ("מה תרצה לעשות?" & VbCrLf & vbCrLf _ & "[לחץ על YES כדי לנעול כונן]" & vbCrLf _ & "[לחץ על NO כדי לבטל את הנעילה של הכוננים] ", 35, cTitleBarMsg) If intSplash = 2 ואז DisplaySplashScreen () ElseIf intSplash = 7 ואז על חידוש השגיאה הבא objWshShl. RegDelete" HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDrive "Software" objWSSL. R. " / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "אם Err. Number 0 אז כונני MsgBox" כבר נעולים. ", 16, cTitleBarMsg DisplayPrompt () סוף אם בשגיאה עבור אל 0 objWshShl. Run" Taskkill /f /im explorer.exe ", 0 WScript. Sleep 300 objWshShl. Run" cmd /c explorer.exe ", 0 MsgBox" כונן נעול הצליח! ", 64, cTitleBarMsg DisplayPrompt () פונקציית סיום אם סיום

אם תלחץ על NO כדי לבטל את הנעילה של הכונן (ים), הוא ימחק את מפתחות הרישום המכילים את ההגדרות שנועלות/מסתירות את הכונן והוא גם בודק אם הכונן כבר נעול. לאחר מכן הוא מפעיל מחדש את 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 & ": \" ומרחב (5) הבא

תפריט Input ()

Sub InputMenu strChoice = InputBox ("הזן אות של הכונן שברצונך לנעול." & _ "או הקלד ALL לנעילת כל הכוננים." & _ Vbcrlf & vbcrlf & "כוננים זמינים" & רווח (3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

פיסת הקוד הראשונה יוצרת רשימה של כל הכוננים הזמינים. החלק הבא הוא תיבת הקלט שהזנת את האות של הכונן שתרצה לנעול.

אם תנסה להקליד כל דבר מלבד אות כונן תקפה, והתוכנית תסרב לכך. הנה איך עשיתי את זה:

אם IsEmpty (strChoice) אז

DisplaySplashScreen () ElseIf strChoice = "" ואז MsgBox "אל תשאיר ריק זה.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "all" Then 'Do Nothing ElseIf Len (strChoice) 1 Then MsgBox "עליך להזין האות ONLY. ", 16, cTitleBarMsg InputMenu () ElseIf 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

לאחר קביעת התצורה של המספר השלם, התסריט יכול לכתוב כעת לרשום באמצעות קוד זה:

הערה נוספת היא שתוכנית זו כותבת ל- 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. עוד דבר נחמד לגביו הוא שהוא נייד כך שתוכל להריץ אותו מכונן הבזק ואין צורך להתקין שום דבר.

מוּמלָץ: