Thursday 10 August 2017

Regwrite Binario Options


Descrizione Il metodo RegWrite viene utilizzato per scrivere un valore al registro di Windows. Parametri Il parametro Name è una stringa che specifica il valore o per essere scritti. Il parametro Valore specifica i dati da scrivere al Registro di sistema. Il valore viene convertito automaticamente in una stringa quando Type è REGSZ o REGEXPANDSZ, e per un intero quando Type è REGDWORD o REGBINARY. Il parametro Type opzionale specifica il tipo di dati per il valore, opzioni valide sono REGSZ, REGEXPANDSZ, REGDWORD e l'editing REGBINARY. Registry utilizzando VBScript 1. VBScript Questa è solo una breve introduzione all'utilizzo di VBScript per leggere e modificare il Registro di sistema. VBScript si basa su Microsofts Visual Basic. Ci sono altre alternative tra cui JScript, reg. exe Console strumento Registro di sistema e file INF per la modifica del Registro di sistema. Questi sono tutti potenti metodi per modificare il Registro di sistema e VBS e JS sono utilizzati in dirottare le impostazioni di Windows e IE, tra cui il blocco del Registro di sistema. Così è possibile utilizzare uno script per sbloccare il Registro di sistema, come gli script di accesso e automatizzare le operazioni ripetitive in distribuzione. Fare riferimento al mio articolo su quot registro quotlock per maggiori dettagli su sblocco regedit. Finestre XPs Windows Script Host supporta VBScript (e JScript). Basta salvare il file di testo creato in Blocco note come VBS e fare doppio clic per eseguirlo. È inoltre possibile utilizzare la versione da riga di comando cscript. exe. I suoi strumenti di sicurezza di terze parti (ad esempio Script Defender e anti-virus) dovrebbe sollevarsi avvertimenti circa script dannoso e di offrire per fermarlo. Se si conosce lo script è sicuro quindi fare clic su OK o consentire per eseguirlo. Se desiderate ulteriori informazioni su VBS e oggetti shell, leggere alcuni libri e tutorial online. Ma si può imparare rapidamente la sintassi VBS per modificare il Registro di sistema senza imparare VBS in grande dettaglio, come youll trovare qui. 2. Gli oggetti guscio I tre oggetti shell per il Registro di sistema sono: RegRead. RegWrite e RegDelete. Non tutti i valori dei dati sono supportati e valori binari pongono difficoltà che saranno spiegate qui di seguito. Nel seguente sintassi, strName si riferisce alla chiave o il valore tra virgolette. Utilizzare un percorso completo o un'abbreviazione standard (HKCR, HKCU, HKLM il percorso completo resto solo). Il percorso che termina con un indica una chiave e quello che termina con un valore citarne nome di valore. quotHKCUTestingSubkeyquot si riferisce alla chiave o il valore di default della chiave e quotHKCUTestingSubkeyMy Documentsquot si riferisce al valore del nome My Documents della chiave sottochiave. Fare attenzione quando si cerca di script. Aprire regedit in modo da poter tenere traccia di ciò che sta accadendo. Eseguire il backup in modo adeguato anticipo. Verificare sempre i vostri script accuratamente. 2.1. RegWrite oggetto. RegWrite (strName, anyvalue, strType) La RegWrite non può scrivere stringhe REGMULTISZ ed è limitato a scrivere solo quattro byte o un DWORD in REGBINARY. I seguenti VBS semplici creeranno quattro chiavi di Registro con diversi tipi di stringhe all'interno di una chiave di prova nel alveare HKCU. Per chiarezza Ive ha separato i codici con interruzioni di riga. Non vi è nessuna richiesta (tranne che per il anti-virus) o il dialogo di conferma. La prima riga di codice definisce l'oggetto della shell. Il primo codice RegWrite scrive un valore di default per la sottochiave. Se la chiave è assente creerà esso. Se è già presente, ma ha un valore diverso che lo cambierà. Il secondo codice è tutto in una riga (come indicato da). Set 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 È inoltre possibile utilizzare questo oggetto WshShell 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 la chiave risultante nel registro di sistema è qui illustrato (fig. 1). Figura. 1. La nuova chiave di registro creato con gli script di cui sopra. Si noti il ​​valore binario ha solo quattro byte. 2.2. RegRead Object. RegRead (strName) Se viene specificato il nome della chiave, RegRead legge il suo valore di default. Se la chiave è assente restituisce un errore. Lo script seguente legge la chiave del Registro di sopra tranne il valore binario. A differenza degli altri due oggetti, è necessario racchiudere il percorso tra parentesi. Impostare WshShell CreateObject (quotWScript. Shellquot) Wscript. Echo WshShell. RegRead (quotHKCUTestingSubkeyquot) Wscript. Echo WshShell. RegRead (quotHKCUTestingSubkeyMy Documentsquot) Wscript. Echo WshShell. RegRead (quotHKCUTestingSubkeyValueNamequot) visualizzare l'oggetto Echo il valore in una finestra WSH uno per uno. Il primo eco dà questo (fig. 2). Figura. finestra di messaggio 2. WSH mostrando 0. È possibile aggiungere una frase di senso per il valore e l'eco tutti e tre insieme (fig. 3) con uno script modificato come questo. Impostare WshShell CreateObject (quotWScript. Shellquot) un WshShell. RegRead (quotHKCUTestingSubkeyquot) b WshShell. RegRead (quotHKCUTestingSubkeyMy Documentsquot) c WshShell. RegRead (quotHKCUTestingSubkeyValueNamequot) Wscript. Echo quotThe isquot valore HKCUTestingSubkeys impostazione predefinita, un, quot, quot, quotthe mio valore Documenti isquot , b, quot, quot, quotthe NomeValore isquot, c, quot. quot Fig. finestra di messaggio 3. WSH con piena messaggio leggere tutte e tre le chiavi. È inoltre possibile trovare un altro esempio dei miei VBS per leggere e sbloccare il Registro di sistema se è disattivata vedere questo articolo per i dettagli. Scaricare ed esaminare lo script. 2.2.1. I valori RegRead REGBINARY per leggere i valori binari (dati binario o esadecimale), lo script bisogno di leggere e partecipare alla matrice. Lo script follow legge questa chiave di registro: HKEYCURRENTUSERSoftwareMicrosoft WindowsCurrentVersionPoliciesExplorer NoDriveTypeAutoRun REGBINARY 5f 00 00 00 Set Shell CreateObject (quotWScript. Shellquot) arr Shell. RegRead (quotHKCUSoftwareMicrosoftWindows CurrentVersionPoliciesExplorerNoDriveTypeAutoRunquot) Io LBound (arr) Per UBound (arr) a (I) CInt (arr (I)) b (I) Hex (CInt (arr (I))) Next Wscript. Echo quotThe di registro i nomi dei tasti valore decimale isquot, Registrazione (a), quot, quot, quotthe valore esadecimale isquot, Registrazione (b), quot msgbox. quot Join (a) ,, quotThe valore decimale isquot msgbox Join (b) ,, valore esadecimale quotThe isquot È possibile personalizzare la finestra di messaggio. L'oggetto Wscript. Echo sopra ti dà questa uscita (Fig. 4), tenendo presente che è 5f 95 in decimale (5x1615): Fig. finestra di messaggio 4. WSH dando le chiavi di registro decimale e valori esadecimali nella matrice. Il msgbox ti dà questi due a loro volta (Fig 5 e 6.): Fig. 5. scatola WSH dando il valore decimale 95 nella matrice. Figura. 6. scatola WSH dando il valore esadecimale del 5F nella matrice. Questo è un altro modo per farlo, questa volta leggendo un'altra chiave esagonale. Set 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) i nomi dei tasti di registro Wscript. Echo quotThe valore esadecimale isquot, strRegValue Private Function StrPad (non imbottito, Lunghezza, Imbottitura) StrPad String ((lunghezza-Len (non imbottito)), Imbottitura) amplificatore non imbottito End Function 2.3. RegDelete State molto attenti con questo in quanto non vi è alcuna richiesta o annullare. Solo è necessario il nome della chiave o il valore, non il tipo di dati o una stringa. Questo elimina la VBS NomeValore (Ciao) dalla chiave Testing sopra. Set Shell CreateObject (quotWScript. Shellquot) Questo VBS Cancella il seguente quotSubkeyquot sottochiave con tutti i contenuti sotto di essa lasciando intatto chiave Testing. Set Shell CreateObject (quotWScript. Shellquot) Honeycutt, Jerry, Microsoft Windows XP Guida Registro di sistema (Redmond: Microsoft Press, 2003) Knittel, Brian, Windows XP sotto il cofano. Hardcore Windows Scripting e Command Power Line (Indianapolis: Que, 2003) La squadra, Windows 2000 Scripting Guide Microsoft Windows Resource Kit Scripting (Redmond: Microsoft Press, 2003) Un ringraziamento particolare a quelle persone che mi hanno aiutato in forum pubblici per quanto riguarda RegRead dati binari . Copyright 2003-2005 da Kilian. Tutti i miei articoli tra cui grafica sono forniti quote isquot senza garanzie di alcun tipo. Con la presente declina tutte le garanzie per quanto riguarda le informazioni fornite. In nessun caso sarò responsabile per eventuali danni di qualsiasi natura derivanti dalle informazioni. Gli articoli sono forniti in buona fede e, dopo un certo grado di controllo ma possono contenere errori tecnici o tipografici. Collegamenti ad altre risorse del web possono essere modificate in qualsiasi momento e sfuggono al controllo dell'autore. Gli articoli possono essere aggiunti, rimossi, modificati o migliorati in qualsiasi momento. Nessun supporto è fornita dall'autore. Questa non è una pagina ufficiale di supporto per tutti i prodotti menzionati. Tutti i prodotti menzionati sono marchi delle loro aziende. Modificare il Registro di sistema a proprio rischio ed eseguire il backup prima. Ultimo aggiornamento tempo 22 Mar 2005Last ho postato ti ho dato una funzione che ha fornito Un modo semplice di leggere il registro con VBScript. in questo intervento we8217ll utilizzare lo stesso oggetto Wscript. shell come l'ultima volta, basta usare un method8211 diverso il metodo RegWrite Tenete a mente, iscritto al Registro di sistema può essere pericoloso per la stabilità del sistema. Se non specificamente sa è necessario scrivere il percorso del Registro, e con quale valore, vi consiglio di non scrivere al Registro di sistema. Ho usato un percorso del Registro di fatto in modo di eseguire questo script dovrebbe essere sicuro come posso farlo. Questo esempio scrive HKeyCurrentUserVBScriptAdmin la chiave TestString. che è un valore REGSZ (o stringa). You8217ll notare che questo valore probabilmente doesn8217t esiste prima di eseguire lo script. Il metodo crea l'intero percorso se doesn8217t exist8211 che è molto bello (o non così bello se Typo il percorso.) Alla fine dello script si dovrebbe vedere la funzione ReadReg legge il valore indietro e scrive il valore letto, che dovrebbe essere successo. Quindi, consente di guardare il codice. 8216HKEYCURRENTUSER HKCU 8216HKEYLOCALMACHINE HKLM 8216HKEYCLASSESROOT HKCR 8216HKEYUSERS HKEYUSERS 8216HKEYCURRENTCONFIG HKEYCURRENTCONFIG Temp WriteReg (8220HKCUVBSriptAdminTeststring8221,8221Success8221,8221REGSZ8221) Temp ReadReg (8220HKCUVBSriptAdminTeststring8221) WScript. Echo Temp Funzione WriteReg (RegPath, Valore, RegType) 8216Regtype dovrebbe essere 8220REGSZ8221 per la stringa, 8220REGDWORD8221 per un numero intero, 8230 82168221REGBINARY8221 per un binario o booleana, e 8220REGEXPANDSZ8221 per una stringa espandibile Dim objRegistry, chiave Set objRegistry CreateObject (8220Wscript. shell8221) chiave objRegistry. RegWrite (RegPath, Valore, RegType) WriteReg chiave End Function Function ReadReg (RegPath) Dim objRegistry, Set chiave objRegistry CreateObject (8220Wscript. shell8221) chiave objRegistry. RegRead (RegPath) ReadReg chiave End Function Come sempre, questo codice funziona perfettamente. Tuttavia, a volte la formattazione del blog rompe il codice, se si copia e incolla nel vostro editor. Quindi, se youd come di non digitare o risolvere eventuali errori di sintassi a causa del copia e incolla problems8211 Ive ha fornito il codice per il download, oltre a file di output di esempio dai miei test finali per voi. Youll trovare il codice e altri file disponibili per il download dai miei siti web (websystemsadministration) file Depot nella categoria Scripts Blog ITKE. Divertimento e felice di scripting nbsp commentare questo Tipi PostRegistry di valore un valore di registro in grado di memorizzare i dati in vari formati. Quando si memorizzano i dati in un valore del Registro, per esempio chiamando la funzione RegSetValueEx, è possibile specificare uno dei seguenti valori per indicare il tipo di dati che vengono memorizzati. Quando si recupera un valore di Registro di sistema, funzioni come la RegQueryValueEx utilizzano questi valori per indicare il tipo di dati recuperati. I seguenti tipi di valore registro sono definiti in Winnt. h. Valori di stringa Se i dati ha il REGSZ, REGMULTISZ, o il tipo REGEXPANDSZ, la stringa potrebbero non sono stati memorizzati con i caratteri nulli corretta terminazione. Pertanto, durante la lettura di una stringa dal Registro di sistema, è necessario assicurarsi che la stringa è terminato correttamente prima di usarlo in caso contrario, si potrebbe sovrascrivere un buffer. (Si noti che le stringhe REGMULTISZ devono avere due terminanti caratteri nulli.) Quando si scrive una stringa al Registro di sistema, è necessario specificare la lunghezza della stringa, compreso il carattere nullo di terminazione (0). Un errore comune è quello di utilizzare la funzione strlen per determinare la lunghezza della stringa, ma dimenticare che restituisce strlen solo il numero di caratteri della stringa, non è compreso il nullo di terminazione. Pertanto, la lunghezza della stringa deve essere calcolata come segue: strlen (stringa) 1 stringa Un REGMULTISZ termina con una stringa di lunghezza 0. Pertanto, non è possibile inserire una stringa di lunghezza zero nella sequenza. Una sequenza vuota sarebbe definita come segue: 0. Il seguente esempio cammina una stringa REGMULTISZ.

No comments:

Post a Comment