terça-feira, 12 de janeiro de 2010

Editando o Registro do Windows com VBScript

Existem várias formas de usar VBScript para editar o Registro do Windows.
Vou abordar nesse post apenas como editar um registro, sem criar ou excluir chaves e valores.
Como acho esse exemplo interessante vou mostrar como bloquear pen drive via VBScript.

Para entender um pouco melhor essa parte do registro você pode ler o post sobre bloqueio de pen drive.

Sabendo qual chave mudar simplesmente usamos o código abaixo que muda para 4 o valor da chave em questão.

Dim WSHShell
Set WSHShell = WScript.CreateObject("WScript.Shell")
WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Start",4 ,"REG_DWORD"
Set WSHShell = nothing



Isso funciona bem no Windows XP quando estamos logados com um usuário com privilégios de Administrador.

Para funcionar no Windows Vista é necessário algo mais.
O código abaixo faz o script executar ele mesmo em modo de administrador enquanto ele não for acionado com o uso de um parâmetro. Dessa forma devemos colocar o nosso código dentro do trecho destinado ao ELSE onde há um comentário.


If WScript.Arguments.length =0 Then
   Dim objShell
   Set objShell = CreateObject("Shell.Application")
   objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1
Else
   'Digite aqui o código
End If


Assim teríamos o seguinte código final para desativar o uso de Pen Drives.


'
' DESABILITA CHAVE DE ARMAZENAMENTO USB
'
'

Option Explicit

On Error Resume Next

If WScript.Arguments.length =0 Then

   Dim objShell
   Set objShell = CreateObject("Shell.Application")
   objShell.ShellExecute "wscript.exe", Chr(34) & WScript.ScriptFullName & Chr(34) & " uac", "", "runas", 1

Else

   Dim WSHShell
   Set WSHShell = WScript.CreateObject("WScript.Shell")
   WSHShell.RegWrite "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Start",4 ,"REG_DWORD"
   Set WSHShell = nothing


End If
E para fazer um código que ative basta ler e pensar um pouco =)

O código que eu uso em empresas é um pouco mais completo porque ele também apaga o link gerado para ele mesmo na aba de documentos recentes do menu iniciar. Mas basta pesquisar um pouco e pensar hehehe...

Se alguém tiver dúvidas me manda um e-mail.

Nenhum comentário:

Postar um comentário