Beskrivning RegWrite-metoden används för att skriva ett värde till Windows-registret. Parametrar Namnparametern är en sträng som anger värdet eller nyckeln som ska skrivas. Värdesparametern anger vilken data som ska skrivas till registret. Värdet konverteras automatiskt till en sträng när Typ är REGSZ eller REGEXPANDSZ, och till ett heltal när Type är REGDWORD eller REGBINARY. Valfri typparameter specificerar datatypen för värdet, giltiga alternativ är REGSZ, REGEXPANDSZ, REGDWORD och REGBINARY. Writing REGBINARY registret värde From. frankie den 13 feb 2005 03:35 Kan du hjälpa mig att skriva följande värde i registernyckeln nedan finns det inget problem att skriva REGSZ med den här raden WshShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, quotx. y. quot, quotREGSZquot men jag vet inte hur man använder Reg. Write för att skriva regbinary värde. Jag försökte dessa WshShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, quothex: 00,01,00,00quot, quotREGBINARYquot WshShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, quot00,01,00,00quot, quotREGBINARYquot-typ mismatchfel är det möjligt att skriva decimaltal konverterat från hex. värde men det finns problem i formatet, nollpositionen är komplicerad att uppnå i rätt ordning WshShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, quot65536quot, quotREGBINARYquot hex: 10000 - gt dec 65536 - gt regvalue 00 00 01 00 hex: 100 - gt dec 256 - gt regvalue 00 01 - vet fortfarande inte hur man skriver ytterligare 00 00 som behövs i registernyckeln - vad sägs om att skriva regvalue 02 av 1a 2b 31 b4 c2. Från: Torgeir Bakken (MVP) den 13 feb 2005 13:52. frankie skrev: gt Kan du hjälpa mig att skriva följande värde i registernyckeln nedan gt gt quotAppSettingsquothex: 00,01,00,00 gt gt det finns inget problem att skriva REGSZ med den här raden gt gt WshShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, gt quotx. y. quot, quotREGSZquot gt gt men jag vet inte hur man använder Reg. Write för att skriva regbinary värde. Jag försökte gt gtwshShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, gt quothex: 00,01,00,00quot, quotREGBINARYquot gt WshShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, gt quot,00,00,00,00,00, quotREGBINARYquot felmottagningsfel för gt-typ är det möjligt att skriv decimaltal omvandlat från hex. värdet men där gt är ett problem i formatet är nollposition komplicerat för att uppnå i korrekt gt-ordning gt gt WshShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, quot65536quot, gt quotERGBINARYquot gt gt hex: 10000 - gt dec 65536 - gt regvalue 00 00 01 00 gt hex: 100 - gt dec 256 - gt regvalue 00 01 gt - vet fortfarande inte hur man skriver ytterligare 00 00 som behövs i registernyckeln Du måste konvertera data med CLng. CLng (lång) ställer in fyra byte, CInt (standard) två byte och CByte (en byte) i registret med REGBINARY. Detta borde fungera: Ställ oShell CreateObject (quotWScript. Shellquot) sRegValue quotHKLMSoftwareACMETestquot oShell. RegWrite sRegValue, CLng (ampH00000100), quotREGBINARYquot gt - vad sägs om skriva regvalue 02 av 1a 2b 31 b4 c2. RegWrite skriver högst en DWORD till ett REGBINARY värde. Större värden stöds inte med den här metoden. Du kan använda WMI för att göra det här: SetBinaryValue Metod för StdRegProv klassen msdn. microsoftlibraryen-uswmisdkwmisetbinaryvaluemethodinclassstdregprov. asp - torgeir, Microsoft MVP Scripting och WMI, Porsgrunn Norge Administration scripting exempel och en ONLINE-version av 1328-sidan Scripting Guide: microsofttechnetscriptcenterdefault. mspx Från. frankie den 13 feb 2005 14:43 Tack för att du löser mitt problem. Detta är precis vad jag behövde. quotTorgeir Bakken (MVP) citTorgeir. Bakken-spam (a) hydrogt skrev i meddelande nyheter: upp9W1fEFHA.3780 (a) TK2MSFTNGP09.phx. gbl. gt. frankie skrev: gt gtgt Kan du hjälpa mig att skriva följande värde i registernyckeln nedan gtgt gtgt quotAppSettingsquothex: 00,01,00,00 gtgt gtgt det finns inget problem att skriva REGSZ med den här raden gtgt gtgt WshShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, gtgt quotx. y. quot, quotREGSZquot gtgt gtgt men jag vet inte hur man använder Reg. Write för att skriva regbinary värde. Jag försökte gtgt dessa gtgt gtgt WshShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, gtgt quothex: 00,01,00,00quot, quotREGBINARYquot gtgt WshShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, gtgt quot00,01,00,00quot, quotREGBINARYquot gtgt-typ mismatch error gtgt gtgt det är möjligt att skriv decimaltal omvandlat från hex. värde men gtgt det finns problem i formatet, nollposition är komplicerat att uppnå i gtgt korrekt ordning gtgt gtgt WshShell. RegWrite quotHKCUSoftwareMicrosoftOfficeAppSettingsquot, quot65536quot, gtgt quotREGBINARYquot gtgt gtgthex: 10000 - gt dec 65536 - gt regvalue 00 00 01 00 gtgt hex: 100 - gt dec 256 - gt regvalue 00 01 gtgt - vet fortfarande inte hur man skriver ytterligare 00 00 behövs i registernyck gt gt Du måste konvertera data med CLng. CLng (lång) anger GT four bytes, CInt (standard) två byte och CByte (en byte) i gt-registret med REGBINARY. Det här ska fungera: gt gt Ange oShell CreateObject (quotWScript. Shellquot) gt sRegValue quotHKLMSoftwareACMETestquot gt oShell. RegWrite sRegValue, CLng (ampH00000100), quotERNOTEquot gt gt gtgt - vad sägs om skriva regvalue 02 av 1a 2b 31 b4 c2. gt gt RegWrite skriver högst en DWORD till ett REGBINARY värde. Större gt-värden stöds inte med den här metoden. gt gt Du kan använda WMI för att göra det dock: gt gt SetBinaryValue Metod för StdRegProv-klassen gt msdn. microsoftlibraryen-uswmisdkwmisetbinaryvaluemethodinclassstdregprov. asp gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gt gtr ONLINE version av gt 1328-sidan Scripting Guide: gt microsofttechnetscriptcenterdefault. mspxGuys Scripting Ezine 64 - Skriva till registret innehåll för Ezine 64 - Skriva till registret Det är en öppen hemlighet där jag har få ansvarsfriskrivningar på min webbplats. Så när jag plötsligt säger, var uppmärksam, var försiktig med registret, så hoppas jag att du ska sitta upp och ta uppsikt. Min erfarenhet är att personer som redigerar registret går igenom dessa 5 steg: Rädsla för det nya registret. Rädsla för Regedit Complacency - Jag kan göra någonting panikansvar för registret. Nu trodde jag aldrig att jag skulle nå panikstadiet med Regedit . Guy trodde att han visste allt, då tog jag en dag bort en hel bikupa, en stor bit av registret. När maskinen startades startade Windows, men maskinen var som en lama anka. Om jag bara hade exporterat registret kunde jag ha reparerat det. Så, även Gung-ho Guy exporterar nu registret innan man genomför ett nytt projekt. Hemligheten med att lägga till nya nycklar och värden med. RegWrite är att öva med ofarliga registernycklar innan man börjar med farligare men spännande projekt. Du kanske har märkt ett mönster med mina skript. Varje skript har två delar, ett tydligt praktisk mål och en VBScript-inlärningspunkt. I veckan är målet att lägga till ett välkomstmeddelande till registret, resultatet kommer att visas i dialogrutan Inloggning. Medan inlärningspunkten är att behärska. RegWrite-metoden. (Du kan komma ihåg att vi experimenterade med. RegRead i ezine 62.) Guy rekommenderar: IP IP-adressen (IPAT) Beräkning av IP-adressintervall är en svart konst, som många nätverkshanterare löser genom att skapa egna Excel-kalkylblad. IPAT sprickar det här problemet med att ange IP-adresser i nätverk på två sätt: För Mr Organized finns en smidig subnäträknare, du anger nätverksadressen och subnätmasken, och IPAT fungerar sedan de användbara adresserna och deras intervall. För Mr Lazy IPAT upptäcker och visar sedan IP-adresserna på befintliga datorer. Hämta det exakta IP-adresstrackerexemplet - För att skriva information i registret vill jag börja med en registerändring som inte kräver en omstart. Målet med detta skript är att lägga till ett välkomstmeddelande till inloggningsdialogrutan. För att spara loggning kan du se samma meddelande genom att trycka på Ctrl Alt Delete. När dialogrutan Windows Security visas, läs toppraden och se din strMessage. Lärandegrunderna är att öva skrivning till registret, men bara genom att experimentera med riskfria områden. Taktiken är att skapa en ny nyckel som heter Welcome, sedan tilldela det ett strängvärde, till exempel, detta är Guys Kingdom. Innan vi granskar. RegWrite-syntaxen kanske du märker att WScript skapar ett Shell-objekt - objShell. Metoden. RegWrite har tre delar (argument): Namnet på registret Nyckel som vi skapar eller skriver till. Notera snedstrecket citat. Notera särskilt att det finns ett citat efter Winlogon, men inte efter WinlogonWelcome. Värdet självt t. ex. quotGuys Kingdomquot Typ av registernyckel, t. ex. REGSZ (sträng) eller REGDWORD. Exempel: objShell. RegWrite quotHKLMSOFTWAREMicrosoftquot amp quoteWindows NTcurrentVersionWinlogonWelcomequot, quotGuys Kingdomquot, quotREGSZquot I själva skriptet kontrollerar jag quotHKLMSOFTWAREMicrosoft. citationstecken med variabeln strWinlogon En annan liten punkt är att eftersom nyckeln är så lång att jag behöver en understrykning och en ampersand förstärkare så att WScript ser min kod som en komplett linje. Instruktioner Kopiera och klistra in skriptet nedan i anteckningsblocket. Spara filen med. vbs-förlängning, t. ex. Welcome. vbs Dubbelklicka och kolla sedan meddelandeboxen Du kanske vill köra Regedit och navigera från HKLM till winlogonsektionen Exportera registret innan du gör några ändringar Welcome. vbs Exempel VBScript att skriva till registret. Författare Guy Thomas computerperformance. co. uk Version 1.3 - 20 februari 2005 ------------------------------------ ---- Alternativ Explicit Dim objShell Dim strMessage, strWelcome, strWinLogon Ange strängvärdena strWelcome quotWelcomequot Ny nyckel strMessage quotY du kommer in Guys kingdomquot strWinLogon quotHKLMSOFTWAREMicrosoftquot amp quotWindows NTcurrentVersionWinlogonquot Skapa Shell-objektet Set objShell CreateObject (quotWScript. Shellquot) Dessa är de två avgörande kommandot i det här skriptet. objektiv strWinlogon amp strWelcome WScript. Quit Learning Points Anm. 1: Här är vad som skapar välkomstnyckeln: objShell. RegWrite strWinLogon amp strWelcome, 1, quotREGSZquot. Not 2: Jag hittade kommatecken lite knepigt. Ett komma efter registernyckeln (strWinLogon amp strWelcome,) och en annan efter värdet (1,). Not 3: I början misslyckades mitt skript eftersom jag släppte bort talmärken runt quotREGSZquot. Not 3: Användningen av variabler, strWinLogon, strWelcome och strMessage. Not 5: Detta skript använder MicrosoftWindows NT-delen av registret, inte MicrosoftWindows-mappen. Not 6: Regedit är verktyget för att förstå och felsöka det här skriptet. Speciellt kan Regedit se till att du har rätt stavning, när du har hittat registernyckeln, gå till File (Meny), Exportera. Nu är du redo att kopiera vad som helst i dialogrutan Valda grenar. Naturligtvis klistrar du in den här registersträngen i ditt manus. Utmaningar Jag har kommenterat en rad som använder. RegDelete så att du kan se hur man tar bort poster från registret. Men jag säger igen - var försiktig. Se till att du inte tar bort hela Winlogon. I övrigt, om du tar bort kommentaren, kör sedan skriptet, så ser du din strMessage, men när du avvisar meddelandeboxen WScript. Echo fortsätter skriptet att utföra och radera strWelcome. Helst skulle jag vilja lägga till mer spännande men potentiellt farliga inställningar till registret. Om du känner att du har behärskat denna. RegWrite-metod, så är jag säker på att du kan undersöka andra nycklar för att lägga till i ditt register. Om du behöver regelbundet lägga till nya nycklar och värden i registret, är VBscript en bra lösning. Nyckeln är att öva på oskyldiga inställningar bara för att behärska. RegWrite-metoderna och syntaxen. Se till att du exporterar registret innan du utför stora projekt med. RegWrite. Läs mer om registerskript
No comments:
Post a Comment