Innholdsfortegnelse:

VBScript Drive Lock: 5 trinn
VBScript Drive Lock: 5 trinn

Video: VBScript Drive Lock: 5 trinn

Video: VBScript Drive Lock: 5 trinn
Video: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, November
Anonim
VBScript Drive Lock
VBScript Drive Lock
VBScript Drive Lock
VBScript Drive Lock

Oppdatering: Dette programmet har nå muligheten til å skjule de angitte låste stasjonene

Etter å ha laget skjermlåsen som låser brukerens datamaskin, bestemte jeg meg for å ta utfordringen med å lage en stasjonslås som låser en stasjon.

Noen ganger ønsker vi alle å holde brukerne utenfor en stasjon (spesielt en usb -stasjon). Så dette programmet vil låse stasjonen for å forhindre at uautoriserte brukere får tilgang til den.

I motsetning til min skjermlås er dette skriptet ganske komplisert. Hovedsakelig fordi jeg la til så mange hvis og da bare for å gi et profesjonelt preg.

Dette programmet ble laget i VBScript. I de neste trinnene skal jeg vise deg hvordan jeg gjorde det.

Trinn 1: Mitt program …

Mitt program …
Mitt program …

Du kan laste ned min Drive Lock nedenfor:

Her er den rå VBScript -filen LINK. Du må fjerne en av 's' på slutten, så det er 'DriveLock.vbs' eller hva du vil ha så lenge det ender på.vbs.

Trinn 2: Gjør stasjonslåsen (del 1)

Gjøre stasjonslåsen (del 1)
Gjøre stasjonslåsen (del 1)
Gjøre stasjonslåsen (del 1)
Gjøre stasjonslåsen (del 1)

Her vil jeg vise deg den første delen av stasjonslåsen … Det første bildet er det som kommer opp når du kjører programmet første gang.

Jeg gjorde det slik at du har tre alternativer her, å låse en stasjon, låse opp stasjonen (e) eller avslutte.

Her er hvordan jeg gjorde det:

Funksjon DisplayPrompt () intSplash = MsgBox ("Hva vil du gjøre?" & VbCrLf & vbCrLf _ & "[Klikk på JA for å låse en stasjon]" & vbCrLf _ & "[Klikk på NEI for å låse opp stasjonen (e)] ", 35, cTitleBarMsg) If intSplash = 2 Then DisplaySplashScreen () ElseIf intSplash = 7 Then On Error Resume Next objWshShl. RegDelete" HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDrive "objWMSL. R. / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "If Err. Number 0 Then MsgBox" Drives are already unlocked. ", 16, cTitleBarMsg DisplayPrompt () End If On Error Gå til 0 objWshShl. Run" Taskkill /f /im explorer.exe ", 0 WScript. Sleep 300 objWshShl. Run" cmd /c explorer.exe ", 0 MsgBox" Disk ulåst var vellykket! ", 64, cTitleBarMsg DisplayPrompt () Slutt hvis sluttfunksjon

Hvis du klikker NEI for å låse opp stasjonen (e), sletter den registernøklene som inneholder innstillingene som låser/skjuler stasjonen, og den kontrollerer også om stasjonen allerede er låst opp. Deretter starter explorer.exe på nytt slik at endringene trer i kraft umiddelbart.

Hvis du klikker på Avbryt, viser sprutskjermen og går deretter ut.

Til slutt, hvis du klikker JA, går den til neste meny. Som jeg vil forklare i neste trinn.

Trinn 3: Lag stasjonslåsen (del 2)

Gjøre stasjonslåsen (del 2)
Gjøre stasjonslåsen (del 2)
Gjøre stasjonslåsen (del 2)
Gjøre stasjonslåsen (del 2)

Neste vil jeg vise deg menyen der du valgte heksedisken du vil låse (bilde 1).

Angi colDrives = objFSO. Drives

For hver objDrive i colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space (10) Neste strDrives = LCase (Erstatt (strDriveList, "", "", 1, -1)) Sett colDrives = objFSO. Drives strDriveList = "" For hver objDrive i colDrives strDriveList = strDriveList & objDrive. DriveLetter & ": \" og mellomrom (5) Neste

InputMeny ()

Sub InputMenu strChoice = InputBox ("Skriv inn bokstaven til stasjonen du vil låse." & _ "Eller skriv ALL for å låse alle stasjoner." & _ Vbcrlf & vbcrlf & "Tilgjengelige stasjoner" & mellomrom (3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

Den første koden genererer en liste over alle tilgjengelige stasjoner. Den neste delen er inndataboksen der du skriver inn bokstaven på stasjonen du vil låse.

Hvis du prøver å skrive inn noe annet enn en gyldig stasjonsbokstav, og programmet vil nekte det. Slik gjorde jeg det:

If IsEmpty (strChoice) Da

DisplaySplashScreen () ElseIf strChoice = "" Then MsgBox "Don't leave this blank.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "all" Then 'Do Nothing ElseIf Len (strChoice) 1 Then MsgBox "You must enter bokstaven KUN. ", 16, cTitleBarMsg InputMenu () ElseIf Not InStr (1, strDrives, LCase (strChoice), 1) 0 Da MsgBox" Ugyldig valg, prøv igjen. ", 16, cTitleBarMsg InputMenu () End If

De to første linjene sjekker om brukeren trykket på avbryt -knappen, og om de gjorde at programmet avsluttes.

De neste tre linjene sjekker om brukeren lot inndataområdet stå tomt.

Resten av koden er ganske forvirrende, men det er i utgangspunktet bare å sørge for at brukeren skrev inn en gyldig stasjon.

Trinn 4: Gjør stasjonslåsen (del 3)

Gjøre stasjonslåsen (del 3)
Gjøre stasjonslåsen (del 3)

Av en eller annen grunn kan ikke registret lese stasjonsbokstaven alene, så den må settes inn i et tilsvarende heltall. Det er hva denne koden nedenfor gjør. For mer informasjon om dette klikk her.

ElseIf strChoice = "a" Da

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

Når heltallet er konfigurert, kan skriptet nå skrive til registret ved hjelp av denne koden:

En annen merknad er at dette programmet skriver til HKLM i stedet for HKCU. HKLM påvirker alle brukere i stedet for bare den påloggede brukeren slik at låsen blir mer effektiv.

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"

Trinn 5: Kjørelås

Jeg håper du synes dette var nyttig. Hvis du ikke forstår en del av dette, kan du legge ut en kommentar eller pm meg.

Og vær så snill å gi meg tilbakemelding på eventuelle problemer, og vær så snill å rangere. Jeg brukte mye tid på dette.

Hvis du vil laste ned den rå vbs -filen, må du bare kontrollere at den er lagret med en.vbs -filtype. En annen fin ting med det er at det er bærbart, slik at du kan kjøre det fra en flash -stasjon, og du trenger ikke å installere noe.

Anbefalt: