Table des matières:

Verrouillage du lecteur VBScript : 5 étapes
Verrouillage du lecteur VBScript : 5 étapes

Vidéo: Verrouillage du lecteur VBScript : 5 étapes

Vidéo: Verrouillage du lecteur VBScript : 5 étapes
Vidéo: Création raccourci en VBS 2024, Juillet
Anonim
Verrouillage du lecteur VBScript
Verrouillage du lecteur VBScript
Verrouillage du lecteur VBScript
Verrouillage du lecteur VBScript

Mise à jour: ce programme a désormais la possibilité de masquer les lecteurs verrouillés spécifiés

Après avoir créé mon écran de verrouillage qui verrouille l'ordinateur de l'utilisateur, j'ai décidé de relever le défi de créer un verrouillage de lecteur qui verrouille un lecteur.

Nous voulons tous parfois garder les utilisateurs hors d'un lecteur (en particulier un lecteur USB). Ce programme verrouillera donc le lecteur pour empêcher les utilisateurs non autorisés d'y accéder.

Contrairement à mon écran de verrouillage, ce script est assez compliqué. Principalement parce que j'ai ajouté tellement de si et puis juste pour donner au programme une sensation professionnelle.

Ce programme a été créé en VBScript. Dans les prochaines étapes, je vais vous montrer comment je l'ai fait.

Étape 1: Mon programme…

Mon programme…
Mon programme…

Vous pouvez télécharger mon Drive Lock ci-dessous:

Voici le fichier VBScript brut LINK. Vous devrez supprimer l'un des « s » à la fin pour que ce soit « DriveLock.vbs » ou ce que vous voulez tant qu'il se termine par.vbs.

Étape 2: Faire le Drive Lock (partie 1)

Faire le Drive Lock (partie 1)
Faire le Drive Lock (partie 1)
Faire le Drive Lock (partie 1)
Faire le Drive Lock (partie 1)

Ici, je vais vous montrer la première partie du verrouillage du lecteur… La première photo est ce qui apparaît lorsque vous exécutez le programme pour la première fois.

J'ai fait en sorte que vous ayez trois options ici, pour verrouiller un lecteur, déverrouiller un ou plusieurs lecteurs ou quitter.

Voici maintenant comment j'ai procédé:

Function DisplayPrompt() intSplash = MsgBox("Que voulez-vous faire?" & vbCrLf & vbCrLf _ & "[Cliquez sur OUI pour verrouiller un lecteur] " & vbCrLf _ & "[Cliquez sur NON pour déverrouiller le(s) lecteur(s)] ", 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" objWshShl. RegDelete \Microsoft\Windows\CurrentVersion\Policies\Explorer\NoDrives" If Err. Number 0 Then MsgBox "Les lecteurs sont déjà déverrouillés.", 16, cTitleBarMsg DisplayPrompt() End If On Error Goto 0 objWshShl. Run "Taskkill /f /im explorer.exe", 0 WScript. Sleep 300 objWshShl. Run "cmd /c explorer.exe", 0 MsgBox "Le lecteur déverrouillé a réussi!", 64, cTitleBarMsg DisplayPrompt() End If End Function

Si vous cliquez sur NON pour déverrouiller le(s) lecteur(s), il supprime les clés de registre qui contiennent les paramètres qui verrouillent/masquent le lecteur, il vérifie également si le lecteur est déjà déverrouillé. Ensuite, il redémarre explorer.exe afin que les modifications prennent effet immédiatement.

Si vous cliquez sur Annuler, l'écran de démarrage s'affiche, puis se ferme.

Enfin, si vous cliquez sur OUI, vous passez au menu suivant. Ce que j'expliquerai dans la prochaine étape.

Étape 3: Faire le Drive Lock (partie 2)

Faire le Drive Lock (partie 2)
Faire le Drive Lock (partie 2)
Faire le Drive Lock (partie 2)
Faire le Drive Lock (partie 2)

Ensuite, je vais vous montrer le menu où vous choisissez le lecteur de sorcière que vous souhaitez verrouiller (photo 1).

Définir colDrives = objFSO. Drives

For Each objDrive in colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space(10) Next strDrives = LCase(Replace(strDriveList, " ", "", 1, -1)) Set colDrives = objFSO. Drives strDriveList = "" For Each objDrive dans colDrives strDriveList = strDriveList & objDrive. DriveLetter & ":\" & Space(5) Suivant

Menu Entrée()

Sub InputMenu strChoice = InputBox("Entrez la lettre du lecteur que vous souhaitez verrouiller." & _ " Ou tapez ALL pour verrouiller tous les lecteurs." & _ vbcrlf & vbcrlf & "Lecteurs disponibles" & Space(3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

Le premier bit de code génère une liste de tous les lecteurs disponibles. La partie suivante est la zone de saisie où vous entrez la lettre du lecteur que vous souhaitez verrouiller.

Si vous essayez de saisir autre chose qu'une lettre de lecteur valide, le programme la refusera. Voici comment j'ai fait ça:

Si est vide (strChoice) alors

DisplaySplashScreen() ElseIf strChoice = "" Then MsgBox "Ne laissez pas ce champ vide.", 16, cTitleBarMsg InputMenu() ElseIf LCase(strChoice) = "all" Then 'Do Nothing ElseIf Len(strChoice) 1 Then MsgBox "Vous devez entrer la lettre UNIQUEMENT.", 16, cTitleBarMsg InputMenu() ElseIf Not InStr(1, strDrives, LCase(strChoice), 1) 0 Then MsgBox "Choix invalide, veuillez réessayer.", 16, cTitleBarMsg InputMenu() End If

Les deux premières lignes vérifient si l'utilisateur a appuyé sur le bouton Annuler et s'il l'a fait, le programme se termine.

Les trois lignes suivantes vérifient si l'utilisateur a laissé la zone de saisie vide.

Le reste du code est assez déroutant, mais il s'agit essentiellement de s'assurer que l'utilisateur a tapé un lecteur valide.

Étape 4: Faire le verrouillage du lecteur (Partie 3)

Faire le Drive Lock (Partie 3)
Faire le Drive Lock (Partie 3)

Pour une raison quelconque, le registre ne peut pas lire la lettre de lecteur seule, elle doit donc être placée dans un entier correspondant. C'est ce que fait ce code ci-dessous. Pour plus d'informations à ce sujet, cliquez ici.

ElseIf strChoice = "a" Then

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

Une fois l'entier configuré, le script peut maintenant écrire dans le registre en utilisant ce code:

Une autre remarque est que ce programme écrit dans HKLM au lieu de HKCU. HKLM affecte tous les utilisateurs au lieu de simplement l'utilisateur actuellement connecté afin que le verrouillage soit plus efficace.

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"

Étape 5: Verrouillage du lecteur

J'espère que vous avez trouvé cette instructable utile. si vous ne comprenez pas une partie de cela, veuillez poster un commentaire ou m'envoyer un MP.

Et s'il vous plaît donnez-moi des commentaires sur tous les problèmes et s'il vous plaît noter. J'ai passé beaucoup de temps là-dessus.

Si vous souhaitez télécharger le fichier vbs brut, assurez-vous simplement qu'il est enregistré avec une extension de fichier.vbs. Une autre bonne chose à ce sujet, c'est qu'il est portable, vous pouvez donc l'exécuter à partir d'un lecteur flash et vous n'avez rien à installer.

Conseillé: