A segunda parte desta série continua falando sobre como modificar o Registro em scripts, mas agora com uma abordagem mais moderna.
O primeiro da fila é o Windows Powershell. Ele possui um Provider específico para trabalhar com o Registro, o que torna possível navegar no registro da mesma forma que você navegaria num diretório, por exemplo. É possível utilizar os mesmos comandos CD e DIR (set-location e get-childItem, na verdade) para entrar e sair das chaves, além do comando get-ItemProperty para obter o conteúdo dos valores e seus dados. Note que um valor não equivale à um arquivo (ou ítem) do sistema de arquivos. Ele corresponde sim à uma propriedade, e por isso não usamos get-ItemProperty para obter os valores, e não o get-Item comum. O get-Item retorna somente subchaves.
Veja um exemplo:
PS HKLM:\> cd HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run PS HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run> dir Hive: Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run SKC VC Name Property --- -- ---- -------- 0 5 AutorunsDisabled {LanguageShortcut, RemoteControl, VAIO Update 2, IntelZeroConfig...} 3 0 OptionalComponents {} PS HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run> Get-ItemProperty . PSPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Ru n PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion PSChildName : Run PSDrive : HKLM PSProvider : Microsoft.PowerShell.Core\Registry igfxtray : C:\WINDOWS\system32\igfxtray.exe igfxhkcmd : C:\WINDOWS\system32\hkcmd.exe igfxpers : C:\WINDOWS\system32\igfxpers.exe Apoint : C:\Program Files\Apoint\Apoint.exe EOUApp : "C:\Program Files\Intel\Wireless\Bin\EOUWiz.exe" NvCplDaemon : RUNDLL32.EXE C:\WINDOWS\system32\NvCpl.dll,NvStartup VAIO Recovery : C:\WINDOWS\Sonysys\VAIO Recovery\PartSeal.exe SonyPowerCfg : "C:\Program Files\Sony\VAIO Power Management\SPMgr.exe" ISBMgr.exe : C:\Program Files\Sony\ISB Utility\ISBMgr.exe Biomenu : "C:\Program Files\Protector Suite QL\menusw.exe" VAIOCameraUtility : "C:\Program Files\Sony\VAIO Camera Utility\VCUServe.exe" WCULauncher : C:\Program Files\Sony\SmartWi Connection Utility\WCULauncher.exe PartSeal : C:\WINDOWS\Sonysys\VAIO Recovery\PartSeal.exe PS HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run>
No exemplo acima, eu navego até a chave HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run e listo todos os valores contidos nela. Para quem já conhece um pouco do Registro, sabe que esta é uma das principais chaves (mas não a única) em que ficam os programas executados durante a inicialização do computador. Vírus, trojans e malwares mais simples (para não dizer babacas) se alojam aqui. A remoção, pelo Powershell, pode ser feita então com uma linha (e o comando del).
Observação Importante: Não se assuste se, navegando pelo Registro, começar a observar algumas mensagens de erro. O problema está no fato do Powershell tentar obter o objeto inteiro correspondente à chave de Registro e falha, caso você não tenha permissões adequadas para navegação nas chaves.
Há ainda várias alternativas, que consistem, por exemplo, na combinação de técnicas apresentadas no artigo anterior com técnicas para execução remota de programas. Basta pegar qualquer uma das técnicas e combinar com o comando PSexec, por exemplo. Vale também criar tarefas agendadas ou executar remotamente também com o WMI, que já foi discutido por mim num post anterior. O céu é o limite.
O próximo post continua sobre Registro. Me empolguei e escrevi um terceiro ítem da série.
Até mais!
Comentários
Postar um comentário
Anônimo : Bom dia Vinicius Canto li seus posts sobre modificar registro via script, muito construtivo para quem está começando essa área.
Tenho uma dúvida a respeito de como de vo salvar os scripts?
(.bat .vbs? como?)
obrigado pela atenção
abraços [12/6/08 10:43 - link]