none
Alterar Regedit remotamente RRS feed

  • Pergunta

  • Bom dia pessoal!

    Tô precisando alterar algumas chaves do regedit de algumas estações, porém, remotamente.

    Tipo:

    Eu entro com o nome da estação no "InputBox" para q o script altere p mim as chaves do regedit dessa estação.

     

    Poderiam me ajudar nisso... tentei aki mas me perdi.

    Grato.

    terça-feira, 18 de dezembro de 2007 13:02

Respostas

  • Tente utilizar o modelo abaixo:

     

    Code Block

    Const HKEY_LOCAL_MACHINE = &H80000002

    strComputer = InputBox("Digite o nome do computador.", "Inserir")
     
    Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
        strComputer & "\root\default:StdRegProv")
     
    strKeyPath = "SOFTWARE\System Admin Scripting Guide"

     

    'Para adicionar um valor String

    strValueName = "Nome do novo valor"
    strValue = "Valor"
    oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

     

    'Para adicionar um valor DWORD 
    strValueName = "Nome do valor"
    dwValue = 82
    oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue

     

     


     

    terça-feira, 18 de dezembro de 2007 13:51
  • 1) São constantes padrão da linguem VBScript.

     

    2)

    Const HKEY_CLASSES_ROOT      = &H80000000
    Const HKEY_CURRENT_USER      = &H80000001
    Const HKEY_LOCAL_MACHINE      = &H80000002
    Const HKEY_USERS       = &H80000003
    Const HKEY_CURRENT_CONFIG    = &H80000005

    Maiores detalhes: http://www.serverwatch.com/tutorials/article.php/1476831

     

    terça-feira, 18 de dezembro de 2007 16:48
  • Só cuidado com um detalhe: alterar a chave HKCU remotamente serve somente para mudar a chave HKCU do usuário logado na estação atual, não na remota. Isso acontece porque o HKCU é uma chave que é um ponteiro pro NTUSER.DAT do usuário logado no momento. Se você tentar modificar o HKCU de um usuário remotamente, vai estar alterando o seu naquela máquina, e não o dele.

    Uma alternativa mais simples NESSE CASO, é usar um script de logon. Ele roda com as credenciais do usuário, e, nesse caso, consegue modificar o HKCU dele mesmo.

    É válido lembrar também que qualquer usuário consegue modificar o HKEY_CURRENT_USER e tudo que tiver abaixo dessa chave. Não adianta configurar nada lá que seja importante em termos de segurança, já que o próprio usuário, se for um pouco mais espertinho, vai conseguir reverter a mudança, uma vez que ele é dono do arquivo e pode fazer o que bem entender dentro dele.

    []s,

    --
    Vinicius Canto
    MVP Windows Server - Admin Frameworks
    MCP Windows 2000 Server, Windows XP e SQL Server 2000
    Bacharelando em Ciências da Computação - USP

    Blog sobre Scripting e Windows Powershell: http://viniciuscanto.blogspot.com
    sexta-feira, 28 de dezembro de 2007 02:05
    Moderador

Todas as Respostas

  • Amigo.

     

    Já houve alguns posts com mesma dúvida, segue abaixo link para visualização.

    http://forums.microsoft.com/Technet-BR/ShowPost.aspx?PostID=1794175&SiteID=29

     

    Qualquer duvida post novamente, espero ter ajudado

     

    Antenciosamente

    Kelsen Lima

     

    Obs.: Classificando os posts você estará ajudando outros colaboradores com a mesma duvida.

    terça-feira, 18 de dezembro de 2007 13:44
  • Tente utilizar o modelo abaixo:

     

    Code Block

    Const HKEY_LOCAL_MACHINE = &H80000002

    strComputer = InputBox("Digite o nome do computador.", "Inserir")
     
    Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & _
        strComputer & "\root\default:StdRegProv")
     
    strKeyPath = "SOFTWARE\System Admin Scripting Guide"

     

    'Para adicionar um valor String

    strValueName = "Nome do novo valor"
    strValue = "Valor"
    oReg.SetStringValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,strValue

     

    'Para adicionar um valor DWORD 
    strValueName = "Nome do valor"
    dwValue = 82
    oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue

     

     


     

    terça-feira, 18 de dezembro de 2007 13:51
  • Boa tarde Bruno... Blz?

     

    O q eu tava tentando aki era algo parecido mas estava me perdendo, porém, as chaves q estou tentando alterar estão em:

    --> HKEY_CURRENT_USER

    -->HKEY_USERS

     

    Me desculpe a ignorância.

    Dúvidas:

     

    1- Onde vc conseguiu esse valor:

    Const HKEY_LOCAL_MACHINE = &H80000002

     

    2 - E quais seriam os valores para:

    HKEY_CURRENT_USER = ?

    HKEY_USERS = ?

     

    Grato.

     

    terça-feira, 18 de dezembro de 2007 16:42
  • 1) São constantes padrão da linguem VBScript.

     

    2)

    Const HKEY_CLASSES_ROOT      = &H80000000
    Const HKEY_CURRENT_USER      = &H80000001
    Const HKEY_LOCAL_MACHINE      = &H80000002
    Const HKEY_USERS       = &H80000003
    Const HKEY_CURRENT_CONFIG    = &H80000005

    Maiores detalhes: http://www.serverwatch.com/tutorials/article.php/1476831

     

    terça-feira, 18 de dezembro de 2007 16:48
  • kra eh isso msm q eu tava querendo saber.... vou testar aki a ja retorno

    terça-feira, 18 de dezembro de 2007 17:01
  • Bruno, bom dia,

    deu certinho aki.... vlw kra

    t+

     

    quarta-feira, 19 de dezembro de 2007 10:20
  • Só cuidado com um detalhe: alterar a chave HKCU remotamente serve somente para mudar a chave HKCU do usuário logado na estação atual, não na remota. Isso acontece porque o HKCU é uma chave que é um ponteiro pro NTUSER.DAT do usuário logado no momento. Se você tentar modificar o HKCU de um usuário remotamente, vai estar alterando o seu naquela máquina, e não o dele.

    Uma alternativa mais simples NESSE CASO, é usar um script de logon. Ele roda com as credenciais do usuário, e, nesse caso, consegue modificar o HKCU dele mesmo.

    É válido lembrar também que qualquer usuário consegue modificar o HKEY_CURRENT_USER e tudo que tiver abaixo dessa chave. Não adianta configurar nada lá que seja importante em termos de segurança, já que o próprio usuário, se for um pouco mais espertinho, vai conseguir reverter a mudança, uma vez que ele é dono do arquivo e pode fazer o que bem entender dentro dele.

    []s,

    --
    Vinicius Canto
    MVP Windows Server - Admin Frameworks
    MCP Windows 2000 Server, Windows XP e SQL Server 2000
    Bacharelando em Ciências da Computação - USP

    Blog sobre Scripting e Windows Powershell: http://viniciuscanto.blogspot.com
    sexta-feira, 28 de dezembro de 2007 02:05
    Moderador
  • Ah, outro detalhe: estas são constantes do provedor de acesso ao registro do WMI, não do VBScript em si. Se fosse, você não precisaria definir estas constantes no início do script para que ele funcione.

     

    []s,

     

    Vinicius

     

    quarta-feira, 9 de janeiro de 2008 10:53
    Moderador