Índice:

VBScript Drive Lock: 5 etapas
VBScript Drive Lock: 5 etapas

Vídeo: VBScript Drive Lock: 5 etapas

Vídeo: VBScript Drive Lock: 5 etapas
Vídeo: How to Encrypt, Decrypt and Recover Mac Hard Drive? 2024, Novembro
Anonim
VBScript Drive Lock
VBScript Drive Lock
VBScript Drive Lock
VBScript Drive Lock

Atualização: este programa agora tem a capacidade de ocultar as unidades bloqueadas especificadas

Depois de fazer meu bloqueio de tela que bloqueia o computador do usuário, decidi aceitar o desafio de fazer um bloqueio de unidade que bloqueia uma unidade.

Todos nós às vezes queremos manter os usuários fora de uma unidade (especialmente uma unidade USB). Portanto, este programa irá bloquear a unidade para evitar que usuários não autorizados tenham acesso a ela.

Ao contrário do meu bloqueio de tela, este script é muito complicado. Principalmente porque adicionei tantos se e então só para dar ao programa um toque profissional.

Este programa foi feito em VBScript. Nos próximos passos, mostrarei como o fiz.

Etapa 1: Meu programa …

Meu programa …
Meu programa …

Você pode baixar meu Drive Lock abaixo:

Aqui está o arquivo VBScript bruto LINK. Você terá que remover um dos 's' no final para que seja 'DriveLock.vbs' ou o que quiser, desde que termine em.vbs.

Etapa 2: Travamento da unidade (parte 1)

Fazendo o bloqueio da unidade (parte 1)
Fazendo o bloqueio da unidade (parte 1)
Fazendo o bloqueio da unidade (parte 1)
Fazendo o bloqueio da unidade (parte 1)

Aqui, vou mostrar a você a primeira parte do bloqueio da unidade … A primeira foto é o que aparece quando você executa o programa pela primeira vez.

Eu fiz isso para que você tenha três opções aqui, para bloquear uma unidade, para desbloquear unidade (s) ou sair.

Agora é assim que eu fiz:

Função DisplayPrompt () intSplash = MsgBox ("O que você gostaria de fazer?" & VbCrLf & vbCrLf _ & "[Clique em SIM para bloquear uma unidade]" & vbCrLf _ & "[Clique em NÃO para desbloquear a (s) unidade (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 "Software objWshShl. RegDelete" HKLM / Software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoViewOnDrive "software / Microsoft / Windows / CurrentVersion / Policies / Explorer / NoDrives "If Err. Number 0 Then MsgBox" As unidades já estão desbloqueadas. ", 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" A unidade foi desbloqueada com sucesso! ", 64, cTitleBarMsg DisplayPrompt () End If End Function

Se você clicar em NÃO para desbloquear a (s) unidade (s), ele excluirá as chaves de registro que contêm as configurações que bloqueiam / ocultam a unidade e também verifica se a unidade já está desbloqueada. Em seguida, ele reinicia o explorer.exe para que as alterações tenham efeito imediato.

Se você clicar em cancelar, ele exibe a tela inicial e, em seguida, sai.

Finalmente, se você clicar em SIM, ele irá para o próximo menu. O que explicarei na próxima etapa.

Etapa 3: Travamento da unidade (parte 2)

Fazendo o bloqueio da unidade (parte 2)
Fazendo o bloqueio da unidade (parte 2)
Fazendo o bloqueio da unidade (parte 2)
Fazendo o bloqueio da unidade (parte 2)

A seguir, mostrarei o menu onde você escolhe a unidade que deseja bloquear (foto 1).

Defina colDrives = objFSO. Drives

Para cada objDrive em colDrives strDriveList = strDriveList & objDrive. DriveLetter & Space (10) Próximo strDrives = LCase (Substituir (strDriveList, "", "", 1, -1)) Definir colDrives = objFSO. Drives strDriveList = "" Para cada objDrive em colDrives strDriveList = strDriveList & objDrive. DriveLetter & ": \" & Espaço (5) Próximo

InputMenu ()

Sub InputMenu strChoice = InputBox ("Digite a letra da unidade que deseja bloquear." & _ "Ou digite ALL para bloquear todas as unidades." & _ Vbcrlf & vbcrlf & "Unidades disponíveis" & Espaço (3) & _ ":" & vbCrLf & vbCrLf & strDriveList, cTitleBarMsg)

O primeiro bit de código gera uma lista de todas as unidades disponíveis. A próxima parte é a caixa de entrada onde você insere a letra da unidade que deseja bloquear.

Se você tentar digitar qualquer coisa que não seja uma letra de unidade válida, o programa irá recusar. Aqui está como eu fiz isso:

If IsEmpty (strChoice) Then

DisplaySplashScreen () ElseIf strChoice = "" Then MsgBox "Não deixe em branco.", 16, cTitleBarMsg InputMenu () ElseIf LCase (strChoice) = "all" Then 'Não fazer nada ElseIf Len (strChoice) 1 Then MsgBox "Você deve inserir MsgBox" a letra SOMENTE. ", 16, cTitleBarMsg InputMenu () ElseIf Não InStr (1, strDrives, LCase (strChoice), 1) 0 Então MsgBox" Escolha inválida, tente novamente. ", 16, cTitleBarMsg InputMenu () End If

As duas primeiras linhas verificam se o usuário apertou o botão cancelar e se o fez, o programa sai.

As próximas três linhas verificam se o usuário deixou a área de entrada em branco.

O resto do código é bastante confuso, mas basicamente se trata apenas de certificar-se de que o usuário digitou uma unidade válida.

Etapa 4: Travamento da unidade (Parte 3)

Fazendo o bloqueio da unidade (Parte 3)
Fazendo o bloqueio da unidade (Parte 3)

Por alguma razão, o registro não consegue ler a letra da unidade sozinho, então ela deve ser colocada em um número inteiro correspondente. Isso é o que o código abaixo está fazendo. Para obter mais informações sobre isso, clique aqui.

ElseIf strChoice = "a" Então

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

Depois que o número inteiro é configurado, o script agora pode gravar no registro usando este código:

Outra observação é que este programa grava em HKLM em vez de HKCU. O HKLM afeta todos os usuários, em vez de apenas o usuário conectado no momento, para que o bloqueio seja mais eficaz.

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"

Etapa 5: bloqueio da unidade

Espero que você tenha achado este instrutível útil. se você não entender uma parte disso, por favor poste um comentário ou me mande um email.

E por favor me dê feedback sobre quaisquer problemas e avalie. Passei muito tempo nisso.

Se você deseja fazer o download do arquivo vbs bruto, certifique-se de salvá-lo com uma extensão de arquivo.vbs. Outra coisa boa sobre ele, é que ele é portátil, então você pode executá-lo em uma unidade flash e não precisa instalar nada.

Recomendado: