Sisällysluettelo:

VBScript Drive Lock: 5 vaihetta
VBScript Drive Lock: 5 vaihetta

Video: VBScript Drive Lock: 5 vaihetta

Video: VBScript Drive Lock: 5 vaihetta
Video: Slow PC? 5 Possible Reasons 2024, Marraskuu
Anonim
VBScript Drive Lock
VBScript Drive Lock
VBScript Drive Lock
VBScript Drive Lock

Päivitys: Tällä ohjelmalla on nyt mahdollisuus piilottaa määritetyt lukitut asemat

Kun olin tehnyt näytön lukituksen, joka lukitsee käyttäjien tietokoneen, päätin ottaa haasteen käyttöön aseman lukitsemisen, joka lukitsee aseman.

Me kaikki joskus haluamme pitää käyttäjät poissa asemasta (etenkin USB -asemasta). Joten tämä ohjelma lukitsee aseman estääkseen luvattomia käyttäjiä pääsemästä siihen.

Toisin kuin näytön lukitus, tämä käsikirjoitus on melko monimutkainen. Lähinnä siksi, että olen lisännyt niin paljon if- ja sitten -arvoja vain ohjelmoidaksesi ammattimaisen tunnelman.

Tämä ohjelma tehtiin VBScript -muodossa. Muutaman seuraavan vaiheen aikana näytän sinulle, miten tein sen.

Vaihe 1: Oma ohjelma…

Oma ohjelma…
Oma ohjelma…

Voit ladata Drive Lockin alla:

Tässä on raaka VBScript -tiedosto LINK. Sinun on poistettava yksi "s" lopussa, joten se on "DriveLock.vbs" tai mitä haluat, kunhan se päättyy.vbs.

Vaihe 2: Aseman lukon tekeminen (osa 1)

Ajolukon tekeminen (osa 1)
Ajolukon tekeminen (osa 1)
Ajolukon tekeminen (osa 1)
Ajolukon tekeminen (osa 1)

Tässä näytän sinulle aseman lukon ensimmäisen osan… Ensimmäinen kuva tulee esiin, kun käynnistät ohjelman ensimmäisen kerran.

Tein sen niin, että sinulla on kolme vaihtoehtoa, lukita asema, avata asema (t) tai poistua.

Nyt tein sen näin:

Toiminto DisplayPrompt () intSplash = MsgBox ("Mitä haluaisit tehdä?" & VbCrLf & vbCrLf _ & "[Napsauta KYLLÄ lukitaksesi aseman]" & vbCrLf _ & "[Napsauta EI avataksesi aseman] ", 35, cTitleBarMsg) Jos intSplash = 2 Sitten DisplaySplashScreen () ElseIf intSplash = 7 Sitten virheen jälkeen Jatka Seuraava objWshShl. RegDelete" HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDrive "objWSMHR. / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "Jos Err. Number 0 Sitten MsgBox" Asemat on jo avattu. ", 16, cTitleBarMsg DisplayPrompt () End Jos On Ongelma Siirry 0 objWshShl. Run" Taskkill /f /im explorer.exe ", 0 WScript. Sleep 300 objWshShl. Run" cmd /c explorer.exe ", 0 MsgBox" Drive unlocked was succesfull! ", 64, cTitleBarMsg DisplayPrompt () Lopeta Jos loppu

Jos napsautat EI, jos haluat avata aseman lukituksen, se poistaa rekisteriavaimet, jotka sisältävät asetukset, jotka lukitsevat/piilottavat aseman, jonka se myös tarkistaa, onko asema jo avattu. Sitten se käynnistää explorer.exe uudelleen, jotta muutokset tulevat voimaan välittömästi.

Jos valitset Peruuta, se näyttää aloitusnäytön ja sulkeutuu.

Lopuksi, jos napsautat KYLLÄ, se siirtyy seuraavaan valikkoon. Mitä selitän seuraavassa vaiheessa.

Vaihe 3: Aseman lukon tekeminen (osa 2)

Ajolukon tekeminen (osa 2)
Ajolukon tekeminen (osa 2)
Ajolukon tekeminen (osa 2)
Ajolukon tekeminen (osa 2)

Seuraavaksi näytän sinulle valikon, jos valitsit lukittavan noita -aseman (kuva 1).

Aseta colDrives = objFSO. Drives

Jokaiselle obJDrive -tiedostolle colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space (10) Seuraava strDrives = LCase (Replace (strDriveList, "", "", 1, -1)) Aseta colDrives = objFSO. Drives strDriveList = "For objDrive in colDrives strDriveList = strDriveList & objDrive. DriveLetter & ": \" & Space (5) Seuraava

InputMenu ()

Sub InputMenu strChoice = InputBox ("Anna lukittava aseman kirjain." & _ "Tai lukitse kaikki asemat kirjoittamalla ALL." & _ Vbcrlf & vbcrlf & "Käytettävissä olevat asemat" & Space (3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

Ensimmäinen koodibitti luo luettelon kaikista käytettävissä olevista asemista. Seuraava osa on syöttölaatikko, johon kirjoitit sen aseman kirjaimen, jonka haluat lukita.

Jos yrität kirjoittaa mitään muuta kuin kelvollisen aseman kirjaimen, ohjelma hylkää sen. Näin tein sen:

Jos IsEmpty (strChoice) Sitten

DisplaySplashScreen () ElseIf strChoice = "" Sitten MsgBox "Älä jätä tätä tyhjäksi.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "all" Sitten 'Do Nothing ElseIf Len (strChoice) 1 Sitten MsgBox "Sinun on annettava VAIN kirjain. ", 16, cTitleBarMsg InputMenu () ElseIf Not InStr (1, strDrives, LCase (strChoice), 1) 0 Sitten MsgBox" Virheellinen valinta, yritä uudelleen. ", 16, cTitleBarMsg InputMenu () End If

Kaksi ensimmäistä riviä tarkistavat, painiko käyttäjä peruutuspainiketta ja poistiko ohjelma.

Seuraavat kolme riviä tarkistavat, onko käyttäjä jättänyt syöttöalueen tyhjäksi.

Loput koodista ovat melko hämmentäviä, mutta se on periaatteessa vain varmista, että käyttäjä on kirjoittanut kelvollisen aseman.

Vaihe 4: Aseman lukon tekeminen (osa 3)

Ajolukon tekeminen (osa 3)
Ajolukon tekeminen (osa 3)

Jostain syystä rekisteri ei voi lukea asemakirjainta yksin, joten se on laitettava vastaavaan kokonaislukuun. Tätä alla oleva koodi tekee. Lisätietoja tästä napsauttamalla tätä.

ElseIf strChoice = "a" Sitten

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

Kun kokonaisluku on määritetty, komentosarja voi nyt kirjoittaa rekisteriin käyttämällä tätä koodia:

Toinen huomautus on, että tämä ohjelma kirjoittaa HKLM: lle HKCU: n sijasta. HKLM vaikuttaa kaikkiin käyttäjiin vain nykyisen kirjautuneen käyttäjän sijasta, jotta lukitus on tehokkaampi.

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"

Vaihe 5: Drive Lock

Toivon, että tästä ohjeesta oli sinulle apua. jos et ymmärrä osaa tästä, lähetä kommentti tai lähetä minulle pm.

Ja antakaa minulle palautetta kaikista ongelmista ja arvioikaa. Vietin paljon aikaa tähän.

Jos haluat ladata raa'an vbs -tiedoston, varmista, että se on tallennettu.vbs -tiedostotunnisteella. Toinen mukava asia siinä on, että se on kannettava, joten voit käyttää sitä flash -asemalta ja sinun ei tarvitse asentaa mitään.

Suositeltava: