Saturday 16 December 2017

Oshell regwrite binary options


Descrição O método RegWrite é usado para gravar um valor para o registro do Windows. Parâmetros O parâmetro Name é uma string que especifica o valor ou a chave a ser escrita. O parâmetro Value especifica os dados a serem gravados no registro. O valor é convertido automaticamente para uma seqüência de caracteres quando Type é REGSZ ou REGEXPANDSZ e para um número inteiro quando Type é REGDWORD ou REGBINARY. O parâmetro Tipo opcional especifica o tipo de dados para o valor, as opções válidas são REGSZ, REGEXPANDSZ, REGDWORD e REGBINARY. ExampleWriting valor do Registro REGBINARY De. Frankie em 13 Feb 2005 03:35 Você pode me ajudar a escrever o seguinte valor na chave do registro abaixo não há nenhum problema para escrever REGSZ usando esta linha WshShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, quotx. y /. Quot, quotREGSZquot mas eu não sei como usar Reg. Write para escrever valor regbinary. Eu tentei estes WSHShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, quothex: 00,01,00,00quot, quotREGBINARYquot WSHShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, quot00,01,00,00quot, quotREGBINARYquot - erro de incompatibilidade de tipo é possível escrever o número decimal convertido de hex. valor, mas não há problema em formato, posição zero é complicado de alcançar na ordem correta WSHShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, quot65536quot, quotREGBINARYquot hex: 10000 - gt dezembro 65536 regvalue - gt 00 00 01 00 hex: 100 - gt dezembro 256 regvalue - gt 00 01 - ainda não sei como escrever 00 00 adicionais necessários na chave do registro - como sobre escrever regvalue 02 af 1a 2b 31 b4 c2. De: Torgeir Bakken (MVP) em 13 Fev 2005 13:52. Frankie escreveu: gt você pode me ajudar a escrever seguinte valor na chave de registo abaixo quotAppSettingsquothex gt gt: 00,01,00,00 gt gt não há nenhum problema para escrever REGSZ usando esta linha gt gt WSHShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, gt quotx. y / . QuotREGSZquot gt gt, mas eu não sei como usar Reg. Write para escrever valor regbinary. Tentei gt estes gt gt WSHShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, gt quothex: 00,01,00,00quot, quotREGBINARYquot gt WSHShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, quot00,01,00,00quot gt, quotREGBINARYquot gt - Tipo de erro de incompatibilidade de gt gt é possível Escreva o número decimal convertido de hex. valor, mas há gt é problema no formato, posição zero é complicado para conseguir a fim gt gt gt WSHShell. RegWrite correta quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, quot65536quot, gt quotREGBINARYquot gt gt hex: 10000 - gt dezembro 65536 regvalue - gt 00 00 01 00 gt hex: 100 - gt dec 256 - gt regvalue 00 01 gt - ainda não sei como escrever 00 00 adicionais necessários na chave do registro Você precisará converter os dados usando CLng. CLng (longo) definirá quatro bytes, CInt (padrão) dois bytes e CByte (um byte) no Registro com REGBINARY. Isso deve funcionar: Definir oShell CreateObject (quotWScript. Shellquot) sRegValue quotHKLMSoftwareACMETestquot oShell. RegWrite sRegValue, CLng (ampH00000100), quotREGBINARYquot gt - como escrever regvalue 02 af 1a 2b 31 b4 c2. O RegWrite escreverá no máximo um DWORD para um valor REGBINARY. Valores maiores não são suportados com este método. Você pode usar WMI para fazer isso embora: Método SetBinaryValue da classe StdRegProv msdn. microsoft/library/en-us/wmisdk/wmi/setbinaryvaluemethodinclassstdregprov. asp - torgeir, Microsoft MVP Scripting e WMI, Porsgrunn Noruega Administração scripting exemplos e um ONLINE Versão da página 1328 Guia de Scripts: microsoft/technet/scriptcenter/default. mspx De. Frankie em 13 Feb 2005 14:43 Obrigado por resolver o meu problema. Isso é exatamente o que eu precisava. QuotTorgeir Bakken (MVP) quot ltTorgeir. Bakken-spam (a) hidrog escreveu na mensagem news: upp9W1fEFHA.3780 (a) TK2MSFTNGP09.phx. gbl. gt. frankie escreveu: gt gtgt você pode me ajudar a escrever seguinte valor na chave de registo abaixo gtgt gtgt quotAppSettingsquothex: 00,01,00,00 gtgt gtgt não há nenhum problema para escrever REGSZ usando esta linha gtgt gtgt WSHShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, gtgt quotx. y /. QuotREGSZquot gtgt gtgt mas eu não sei como usar Reg. Write para escrever valor regbinary. Tentei gtgt estes gtgt gtgt WSHShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, gtgt quothex: 00,01,00,00quot, quotREGBINARYquot gtgt WSHShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, gtgt quot00,01,00,00quot, quotREGBINARYquot gtgt - Erro de incompatibilidade de tipo gtgt gtgt é possível Escreva o número decimal convertido de hex. valor, mas gtgt há problema em formato, posição zero é complicado de alcançar em gtgt correta fim gtgt gtgt WSHShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, quot65536quot, gtgt quotREGBINARYquot gtgt gtgt hex: 10000 - gt dezembro 65536 regvalue - gt 00 00 01 00 gtgt hex: 100 - gt dec 256 - gt regvalue 00 01 gtgt - ainda não sei como escrever 00 00 adicionais necessários na chave do registro gt gt Você precisará converter os dados usando CLng. CLng (long) definirá gt quatro bytes, CInt (padrão) dois bytes e CByte (um byte) no registro gt com REGBINARY. Isso deve funcionar: gt gt Set oShell CreateObject (quotWScript. Shellquot) gt sRegValue quotHKLMSoftwareACMETestquot gt oShell. RegWrite sRegValue, CLng (ampH00000100), quotREGBINARYquot gt gt gtgt - como sobre a escrita regvalue 02 af 1a 2b 31 B4 c2. Gt gt O RegWrite escreverá no máximo um DWORD para um valor REGBINARY. Valores gt maiores não são suportados com este método. gt gt Você pode usar o WMI para fazer isso embora: gt gt SetBinaryValue método da classe StdRegProv gt msdn. microsoft/library/en-us/wmisdk/wmi/setbinaryvaluemethodinclassstdregprov. asp gt gt gt gt - gt Torgeir, Microsoft MVP Scripting e WMI, Porsgrunn Noruega exemplos de scripts Administração gt e uma versão online de gt 1328 página Guia de scripts: gt microsoft/technet/scriptcenter/default. mspxRegistry edição usando VBScript 1. VBScript Esta é apenas uma breve introdução ao uso de VBScript para ler e Editar o registro. VBScript é baseado em Microsofts Visual Basic. Há outras alternativas, incluindo JScript, Console Registry Tool reg. exe e arquivos inf para editar o registro. Estes são todos os métodos poderosos para editar o registro e VBS e JS são usados ​​em sequestrar as configurações do Windows e IE, incluindo o bloqueio do registro. Assim, você pode usar um script para desbloquear seu registro, como scripts de logon e automatizar tarefas repetitivas na implantação. Consulte o meu artigo sobre Quotlock registro quot para obter mais detalhes sobre desbloqueio regedit. Windows XPs O Windows Script Host suporta VBScript (e JScript). Basta salvar o arquivo de texto criado no Bloco de notas como vbs e clique duas vezes para executá-lo. Você também pode usar a versão de linha de comando cscript. exe. Suas ferramentas de segurança de terceiros (por exemplo, Script Defender e anti-vírus) devem exibir avisos sobre script mal-intencionado e oferecer para interrompê-lo. Se souber que o script é seguro, clique em OK ou permita que ele seja executado. Se você quiser saber mais sobre VBS e objetos de shell, leia alguns livros e tutoriais on-line. Mas você pode rapidamente aprender a sintaxe VBS para editar o registro sem aprender VBS em grande detalhe, como você vai descobrir aqui. 2. Os objetos de shell Os três objetos de shell para o registro são: RegRead. RegWrite e RegDelete. Nem todos os valores de dados são suportados e os valores binários apresentam dificuldades que serão explicadas abaixo. Na seguinte sintaxe, strName refere-se à chave ou valor entre aspas. Use um caminho completo ou uma abreviação padrão (HKCR, HKCU, HKLM o caminho completo restante apenas). O caminho que termina com a indica uma chave e que termina com um nome de valor um nome de valor. QuotHKCUTestingSubkeyquot refere-se à chave ou o valor padrão da chave e quotHKCUTestingSubkeyMy Documentsquot refere-se ao nome do valor Meus Documentos da chave Subchave. Tenha cuidado ao tentar scripts. Abra o regedit para que você possa acompanhar o que está acontecendo. Faça backup adequadamente antecipadamente. Sempre teste seus scripts completamente. 2.1. RegWrite Object. RegWrite (strName, anyvalue, strType) O RegWrite não pode gravar para cadeias REGMULTISZ e está limitado a escrever apenas quatro bytes ou um DWORD em REGBINARY. O VBS simples a seguir criará quatro subchaves de registro com diferentes tipos de seqüência de caracteres dentro de uma chave de teste na seção HKCU. Para maior clareza, separei os códigos com quebras de linha. Não há nenhum prompt (exceto seu anti-vírus) ou diálogo de confirmação. A primeira linha de código define o objeto shell. O primeiro código RegWrite escreve um valor predefinido para a subchave. Se a chave estiver ausente ele irá criá-lo. Se ele já está presente, mas tem um valor diferente, ele irá alterá-lo. O segundo código é tudo em uma linha (como indicado por). Definir Shell CreateObject (quotWScript. Shellquot) Shell. RegWrite quotHKCUTestingSubkeyquot, 0, quotREGDWORDquot Shell. RegWrite quotHKCUTestingSubkeyMy Documentsquot, quotUSERPROFILEMy Documentsquot, quotREGEXPANDSZquot Shell. RegWrite quotHKCUTestingSubkeyValueNamequot, quotHelloquot, quotREGSZquot Shell. RegWrite quotHKCUTestingSubkeyValueName2quot, 1, quotREGBINARYquot Você também pode usar este WshShell objeto formato : Set WshShell CreateObject (quotWScript. Shellquot) WSHShell. RegWrite quotHKCUTestingSubkeyquot, 0, quotREGDWORDquot WSHShell. RegWrite quotHKCUTestingSubkeyMy Documentsquot, quotUSERPROFILEMy Documentsquot, quotREGEXPANDSZquot WSHShell. RegWrite quotHKCUTestingSubkeyValueNamequot, quotHelloquot, quotREGSZquot WSHShell. RegWrite quotHKCUTestingSubkeyValueName2quot, 1, quotREGBINARYquot a chave resultando no registro é Mostrado aqui (figura 1). FIG. 1. A nova chave de registro criada com os scripts acima. Observe que o valor binário tem apenas quatro bytes. 2.2. RegRead Object. RegRead (strName) Se o nome da chave for especificado, o RegRead lê seu valor padrão. Se a chave estiver ausente, ela retornará um erro. O script a seguir lê a chave de registro acima, exceto o valor binário. Ao contrário dos outros dois objetos, você precisa incluir o caminho entre parênteses. Definir WshShell CreateObject (quotWScript. Shellquot) Wscript. Echo WshShell. RegRead (quotHKCUTestingSubkeyquot) Wscript. Echo WshShell. RegRead (quotHKCUTestingSubkeyMy Documentsquot) Wscript. Echo WshShell. RegRead (quotHKCUTestingSubkeyValueNamequot) O objeto eco exibir o valor em uma janela WSH um por um. O primeiro eco dá isto (Fig. 2). FIG. 2. Caixa de mensagem WSH mostrando 0. Você pode adicionar uma sentença significativa para o valor e ecoar todos os três juntos (figura 3) com um script modificado como este. Definir WshShell CreateObject (quotWScript. Shellquot) um WshShell. RegRead (quotHKCUTestingSubkeyquot) b WshShell. RegRead (quotHKCUTestingSubkeyMy Documentsquot) c WshShell. RegRead (quotHKCUTestingSubkeyValueNamequot) Wscript. Echo quotThe isquot valor HKCUTestingSubkeys padrão, um, quot, quot, quotthe meu valor Documentos isquot , B, quot, quothe ValueName isquot, c, fig. 3. Caixa de mensagem WSH com mensagem cheia lendo todas as três chaves. Você também pode encontrar outro exemplo do meu VBS para ler e desbloquear o registro se ele estiver desabilitado consulte este artigo para obter detalhes. Faça o download e examine o script. 2.2.1. RegRead REGBINARY valores Para ler valores binários (dados binários ou hexadecimais), o script precisa ler e juntar a matriz. O script de acompanhamento lê esta chave de registo: HKEYCURRENTUSERSoftwareMicrosoft WindowsCurrentVersionPoliciesExplorer NoDriveTypeAutoRun REGBINARY 5F 00 00 00 Set Shell CreateObject (quotWScript. Shellquot) arr Shell. RegRead (quotHKCUSoftwareMicrosoftWindows CurrentVersionPoliciesExplorerNoDriveTypeAutoRunquot) Porque eu LBound (arr) Para UBound (arr) a (I) CInt (arr (I)) Hex (CInt (arr (I))) Next Wscript. Echo quotThe nomes de chave de registro decimal valor isquot, Join (a), quot, quot, quotthe hex valor isquot, Join (b), quot. quot msgbox Participar (a) ,, quotO valor decimal isquot msgbox Juntar (b) ,, quotO valor hexadecimal isquot Você pode personalizar a caixa de mensagem. O Wscript. Echo objeto acima dá-lhe esta saída (Fig. 4) tendo em mente que 5f é 95 em decimal (5x1615): Fig. 4. Caixa de mensagem WSH que dá as chaves de registo valores decimais e hexadecimais na matriz. O msgbox dá-lhe estes dois por sua vez (Fig. 5 e 6): Fig. 5. Caixa WSH que dá o valor decimal de 95 na matriz. FIG. 6. Caixa WSH que dá o valor hexadecimal de 5F na matriz. Esta é outra maneira de fazê-lo, desta vez lendo outra chave hexadecimal. Definir Shell CreateObject (quotWScript. Shellquot) arrRegValue Shell. RegRead (quotHKCUSoftwareMicrosoftInternet ExplorerDocument WindowsWidthquot) strRegValue StrPad (Hex (arrRegValue (0)), 2, quot0quot) amp quot quot amp StrPad (Hex (arrRegValue (1)), 2, quot0quot) amp quot quot amp StrPad (Hex (arrRegValue (2)), 2, quot0quot) amp quot quot amp StrPad (Hex (arrRegValue (3)), 2, quot0quot) nomes de chave do Registro Wscript. Echo quotThe hexadecimal valor isquot, strRegValue Função privada StrPad (Unpadded, Comprimento, Padding) StrPad String ((Comprimento-Len (Unpadded)), Padding) amp Unpadded End Function 2.3. RegDelete Tenha muito cuidado com isso, pois não há prompt ou desfazer. Somente o nome da chave ou valor é necessário, não o tipo de dados ou seqüência de caracteres. Este VBS exclui o ValueName (Hello) da chave de teste acima. Set Shell CreateObject (quotWScript. Shellquot) Este VBS exclui a seguinte subchave quotSubkeyquot com todo o conteúdo sob ele deixando a chave de teste intacta. Definir Shell CreateObject (quotWScript. Shellquot) Honeycutt Referência, Jerry, Microsoft Windows XP Guia de Registro (Redmond: Microsoft Press, 2003) Knittel, Brian, o Windows XP Under the Hood. Incondicional Windows Scripting e Command Line alimentação (Indianapolis: Que, de 2003) O Microsoft Windows Resource Kit Scripting Team, o Windows Guia 2000 Scripting (Redmond: Microsoft Press, 2003) de dados binários RegRead Um agradecimento especial para aquelas pessoas que me ajudaram em fóruns públicos sobre . Copyright 2003-2005 por Kilian. Todos os meus artigos, incluindo gráficos são fornecidos quotas isquot sem garantias de qualquer tipo. Renuncio a todas as garantias com relação às informações fornecidas. Em nenhum caso, eu serei responsável por qualquer dano de qualquer tipo resultante da informação. Os artigos são fornecidos de boa fé e após algum grau de verificação, mas podem conter erros técnicos ou tipográficos. Links para outros recursos da web podem ser alterados a qualquer momento e estão fora do controle do autor. Os artigos podem ser adicionados, removidos, editados ou aperfeiçoados a qualquer momento. Nenhum suporte é fornecido pelo autor. Esta não é uma página de suporte oficial para nenhum dos produtos mencionados. Todos os produtos mencionados são marcas registradas de suas empresas. Edite o registro por sua conta e risco e faça o backup primeiro. Última atualização em 22 Mar 2005 Esta documentação está arquivada e não está sendo mantida. Leitura e gravação para o registro local Microsoft Windows 2000 Scripting Guide Como regra geral, é melhor para gerenciar o registro usando ferramentas de sistema como o Regedit. exe embora não infalível, estas ferramentas têm salvaguardas internos que ajudam a minimizar o dano que Pode ser causado por configurar incorretamente uma entrada do Registro. Por outro lado, também é verdade que muitas dessas ferramentas de registro não podem ser automatizadas e são projetadas para funcionar em apenas um computador por vez (normalmente, o computador local). Uma coisa é dizer que você deve usar o Regedit. exe para gerenciar o registro é outra bem diferente é ter um boletim de segurança urgente recomendando que você alterar uma entrada de registo em todos os 1.000 de seus controladores de domínio o mais rapidamente possível. Nas situações em que as ferramentas do sistema não são suficientemente rápidas ou eficientes o suficiente, o objeto WshShell fornece métodos para leitura, gravação e exclusão do registro. Alterar o registro com um script pode facilmente propagar erros. As ferramentas de script ignoram as salvaguardas, permitindo configurações que podem danificar o sistema ou mesmo exigir a reinstalação do Windows. Antes de fazer o script de alterações no registro, teste seu script completamente e faça backup do registro em cada computador no qual você fará alterações. Para obter mais informações sobre como alterar scripts no registro, consulte a referência do registro no CD do complemento do Microsoft Windows 2000 Server Resource Kit ou no Microsoft Windows 2000 Server Resource Kit. Leitura de uma entrada do Registro O registro é o banco de dados de configuração principal para o sistema operacional Windows a capacidade de um componente do sistema operacional para executar e para executar corretamente, muitas vezes depende da configuração de uma ou mais configurações dentro do registro. Como administrador de sistema, você gasta uma quantidade considerável de tempo verificando valores definidos no registro. Por exemplo, em caso de problemas do computador, o pessoal de suporte solicitará freqüentemente que você verifique configurações de registro específicas. Isso pode ser feito diretamente, usando uma ferramenta como o Regedit. exe, ou pode ser feito programaticamente, usando o WshShell RegRead método. Para a maior parte, o método RegRead requer que você faça apenas duas coisas: 1) Crie uma instância do objeto WScript Shell e 2) chame o método RegRead, especificando a entrada do registro que você deseja ler. Por exemplo, o número da versão do sistema operacional Windows é armazenado em HKLMSoftwareMicrosoftWindows NTCurrentVersionCurrentVersion. Você pode recuperar esse valor usando o seguinte código: Esta documentação é arquivada e não está sendo mantida. Scriptable Shell Objetos A Shell do Windows fornece um poderoso conjunto de objetos de automação que permitem programar o Shell com o Microsoft linguagens de script como Microsoft JScript (compatível com ECMA 262 especificação de linguagem) e Microsoft Visual Basic Scripting Edition (VBScript) Visual Basic e. Você pode usar esses objetos para acessar muitos dos recursos e caixas de diálogo Shells. Por exemplo, você pode acessar o sistema de arquivos, iniciar programas e alterar as configurações do sistema. Esta seção apresenta os objetos de shell com scripts. Versões do Shell Muitos dos objetos do Shell ficaram disponíveis na versão 4.71 do Shell. Outros estão disponíveis na versão 5.00 e posterior. A versão 5.00 ficou disponível com o Windows 2000. A tabela a seguir lista cada objeto Shell sob a versão do Shell em que o objeto ficou disponível. Instanciar Shell Objetos Para instanciar os objetos Shell em aplicações de Visual Basic com ligação inicial, adicione referências aos seguintes bibliotecas em seu projeto: Controles da Internet da Microsoft (SHDocVw) controla Microsoft Shell e Automação (Shell32) tardias Você Encadernação pode instanciar muitos dos Shell também Objetos com ligação tardia. Esta abordagem funciona em aplicações do Visual Basic e no script. O exemplo a seguir mostra como instanciar o objeto Shell no JScript. O exemplo a seguir mostra como instanciar o objeto de pasta em VBScript. No exemplo anterior, sDir é o caminho para o objeto Folder. Observe que os valores de enumeração ShellSpecialFolderConstants não estão disponíveis no script. O ProgID para cada um dos objetos Shell é mostrado na tabela a seguir. Shell Object O objeto Shell representa os objetos no Shell. Você pode usar os métodos expostos pelo objeto Shell para: Abrir, explorar e procurar pastas. Minimizar, restaurar, cascatear ou abrir janelas abertas. Inicie os aplicativos do Painel de Controle. Exibir caixas de diálogo do sistema. Os usuários talvez estejam mais familiarizados com os comandos que acessam no menu Iniciar e no menu de atalho das barras de tarefas. O menu de atalho das barras de tarefas é exibido quando os usuários clicam com o botão direito do mouse na barra de tarefas. O seguinte HTML Application (HTA) produz uma página inicial com botões que implementar muitos dos métodos de objetos Shell. Alguns destes métodos implementar funcionalidades no menu Iniciar eo menu de atalho do taskbars. Segurança Como um aplicativo, um HTA é executado sob um modelo de segurança diferente de uma página da Web. Para interagir com uma página da Web que implementa a funcionalidade dos objetos do shell, os usuários devem habilitar os controles de ActiveX de inicialização e script não marcados como opção segura para a zona de segurança na qual eles estão exibindo a página. Objetos Pasta O objeto Pasta representa uma pasta Shell. Você pode usar os métodos expostos pelo objeto Pasta para: Obter informações sobre uma pasta. Crie subpastas. Copiar e mover objetos de arquivo para a pasta. O objeto FolderItem representa um item em uma pasta Shell. Suas propriedades permitem recuperar informações sobre o item. Você pode usar os métodos expostos por este objeto para executar verbos de itens, ou para recuperar informações sobre um objeto FolderItemVerbs itens. O objeto FolderItems representa um conjunto de itens em uma pasta Shell. Seus métodos e propriedades permitem recuperar informações sobre a coleção. O exemplo do Visual Basic a seguir mostra a relação entre vários dos objetos de pasta e como eles podem ser usados ​​juntos. Quando o usuário clica no botão de comando chamado cmdGetPath. O programa exibe uma caixa de diálogo que permite ao usuário selecionar uma pasta de Meu computador. Onde ssfDRIVES é o valor de enumeração ShellSpecialFolderConstants para Meu computador. Quando o usuário escolhe uma pasta, o caminho de pastas é exibido na caixa de texto chamada txtPath.

No comments:

Post a Comment