İçindekiler:

VBScript Sürücü Kilidi: 5 Adım
VBScript Sürücü Kilidi: 5 Adım

Video: VBScript Sürücü Kilidi: 5 Adım

Video: VBScript Sürücü Kilidi: 5 Adım
Video: Windows Script Host run.vbs Error on Startup Fix 2024, Kasım
Anonim
VBScript Sürücü Kilidi
VBScript Sürücü Kilidi
VBScript Sürücü Kilidi
VBScript Sürücü Kilidi

Güncelleme: Bu program artık belirtilen kilitli sürücüleri gizleme yeteneğine sahiptir

Kullanıcıların bilgisayarını kilitleyen ekran kilidimi yaptıktan sonra, bir sürücüyü kilitleyen bir sürücü kilidi yapma zorluğunu üstlenmeye karar verdim.

Hepimiz bazen kullanıcıları bir sürücüden (özellikle bir usb sürücüden) uzak tutmak isteriz. Böylece bu program, yetkisiz kullanıcıların ona erişmesini önlemek için sürücüyü kilitleyecektir.

Ekran kilidimden farklı olarak bu komut dosyası oldukça karmaşık. Temelde, çok fazla eğer ekledim ve sonra sadece programlamaya profesyonel bir his vermek için.

Bu program VBScript'te yapıldı. Sonraki birkaç adımda size nasıl yaptığımı göstereceğim.

Adım 1: Programım…

Programım…
Programım…

Drive Lock'umu aşağıdan indirebilirsiniz:

İşte ham VBScript dosyası LINK. Sondaki 's'lerden birini kaldırmanız gerekecek, böylece 'DriveLock.vbs' veya.vbs ile bittiği sürece ne istersen.

2. Adım: Sürücü Kilidi Yapma (bölüm 1)

Sürücü Kilidini Yapma (bölüm 1)
Sürücü Kilidini Yapma (bölüm 1)
Sürücü Kilidini Yapma (bölüm 1)
Sürücü Kilidini Yapma (bölüm 1)

Burada size sürücü kilidinin ilk bölümünü göstereceğim… İlk resim, programı ilk çalıştırdığınızda karşınıza çıkan şeydir.

Bir sürücüyü kilitlemek, sürücü(ler)in kilidini açmak veya çıkmak için burada üç seçeneğiniz olacak şekilde yaptım.

Şimdi bunu nasıl yaptım:

Function DisplayPrompt() intSplash = MsgBox("Ne yapmak istersiniz?" & vbCrLf & vbCrLf _ & "[Bir sürücüyü kilitlemek için EVET'e tıklayın] " & vbCrLf _ & "[Sürücülerin kilidini açmak için HAYIR'a tıklayın] ", 35, cTitleBarMsg) intSplash = 2 ise DisplaySplashScreen() ElseIf intSplash = 7 Sonra Hatada Devam Et Sonraki objWshShl. RegDelete "HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\NoViewOnDrive" objWshlete \Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives" Err. Number 0 ise MsgBox "Sürücülerin kilidi zaten açık.", 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 "Sürücü kilidi açıldı başarılı!", 64, cTitleBarMsg DisplayPrompt() End If End Function

Sürücünün/sürücülerin kilidini açmak için HAYIR'ı tıklatırsanız, sürücüyü kilitleyen/gizleyen ayarları içeren kayıt defteri anahtarlarını siler ve ayrıca sürücünün kilidinin açık olup olmadığını kontrol eder. Ardından, değişikliklerin hemen yürürlüğe girmesi için explorer.exe'yi yeniden başlatır.

İptal'i tıklatırsanız, açılış ekranını görüntüler ve ardından çıkar.

Son olarak EVET'e tıklarsanız bir sonraki menüye gider. Hangi bir sonraki adımda açıklayacağım.

Adım 3: Sürücü Kilidi Yapma (2. kısım)

Sürücü Kilidini Yapma (bölüm 2)
Sürücü Kilidini Yapma (bölüm 2)
Sürücü Kilidini Yapma (bölüm 2)
Sürücü Kilidini Yapma (bölüm 2)

Ardından, kilitlemek istediğiniz cadı sürücüsünü seçtiğiniz menüyü göstereceğim (resim 1).

colDrives = objFSO. Drives olarak ayarlayın

colDrives içindeki her objDrive için strDriveList = strDriveList & objDrive. DriveLetter & Space(10) Sonraki strDrives = LCase(Replace(strDriveList, " ", "", 1, -1)) colDrives = objFSO. Drives strDriveList = "" Her biri için colDrive'larda objDrive strDriveList = strDriveList & objDrive. DriveLetter & ":\" & Space(5) Sonraki

GirişMenüsü()

Sub InputMenu strChoice = InputBox("Kilitlemek istediğiniz sürücünün harfini girin." & _ " Veya tüm sürücüleri kilitlemek için ALL yazın." & _ vbcrlf & vbcrlf & "Mevcut sürücüler" & Space(3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

Kodun ilk biti, mevcut tüm sürücülerin bir listesini oluşturur. Sonraki kısım, kilitlemek istediğiniz sürücünün harfini girdiğiniz giriş kutusudur.

Geçerli bir sürücü harfi dışında bir şey yazmayı denerseniz, program bunu reddedecektir. İşte bunu nasıl yaptım:

Eğer IsEmpty(strChoice) ise

DisplaySplashScreen() ElseIf strChoice = "" Sonra MsgBox "Bunu boş bırakmayın.", 16, cTitleBarMsg InputMenu() ElseIf LCase(strChoice) = "all" Sonra 'Başka Bir Şey Yapma Len(strChoice) 1 Sonra MsgBox "Girmelisiniz the letter ONLY.", 16, cTitleBarMsg InputMenu() ElseIf Not InStr(1, strDrives, LCase(strChoice), 1) 0 Then MsgBox "Geçersiz seçim, lütfen tekrar deneyin.", 16, cTitleBarMsg InputMenu() End If

İlk iki satır, kullanıcının iptal düğmesine basıp basmadığını ve eğer yaptıysa programdan çıkıp çıkmadığını kontrol eder.

Sonraki üç satır, kullanıcının giriş alanını boş bırakıp bırakmadığını kontrol eder.

Kodun geri kalanı oldukça kafa karıştırıcıdır, ancak temelde yalnızca kullanıcının geçerli bir sürücü yazdığından emin olmaktır.

Adım 4: Sürücü Kilidi Yapma (3. Kısım)

Sürücü Kilidi Yapma (3. Kısım)
Sürücü Kilidi Yapma (3. Kısım)

Bazı nedenlerden dolayı kayıt defteri sürücü harfini tek başına okuyamaz, bu nedenle karşılık gelen bir tamsayıya yerleştirilmelidir. Aşağıdaki bu kodun yaptığı şey budur. Bu konuda daha fazla bilgi için buraya tıklayın.

ElseIf strChoice = "a" Sonra

intDriveNumber = 1 ElseIf strChoice = "b" Sonra intDriveNumber = 2 ElseIf strChoice = "c" Sonra intDriveNumber = 4

Tamsayı yapılandırıldıktan sonra, komut dosyası artık bu kodu kullanarak kayıt defterine yazabilir:

Başka bir not, bu programın HKCU yerine HKLM'ye yazdığıdır. HKLM, kilidin daha etkili olması için yalnızca geçerli oturum açmış kullanıcı yerine tüm kullanıcıları etkiler.

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"

Adım 5: Sürücü Kilidi

Umarım bu talimatı faydalı bulmuşsunuzdur. Bunun bir kısmını anlamıyorsanız, lütfen bir yorum gönderin veya bana pm atın.

Ve lütfen herhangi bir sorun hakkında bana geri bildirimde bulunun ve lütfen puan verin. Bunun için çok zaman harcadım.

Ham vbs dosyasını indirmek istiyorsanız, dosyanın bir.vbs dosya uzantısıyla kaydedildiğinden emin olun. Bununla ilgili bir başka güzel şey, taşınabilir olması, böylece bir flash sürücüden çalıştırabilmeniz ve hiçbir şey yüklemenize gerek olmamasıdır.

Önerilen: