Regwrite ไบนารี ตัวเลือก


คำอธิบาย: วิธี RegWrite ถูกใช้เพื่อเขียนค่าลงในรีจิสทรีของ Windows Parameters พารามิเตอร์ Name คือสตริงที่ระบุค่าหรือคีย์ที่จะเขียน พารามิเตอร์ Value ระบุข้อมูลที่จะเขียนลงในรีจิสทรี ค่าจะถูกแปลงเป็นสตริงโดยอัตโนมัติเมื่อ Type เป็น REGSZ หรือ REGEXPANDSZ และเป็นจำนวนเต็มเมื่อ Type เป็น REGDWORD หรือ REGBINARY พารามิเตอร์ตัวเลือกระบุชนิดข้อมูลสำหรับค่าตัวเลือกที่ถูกต้องคือ REGSZ, REGEXPANDSZ, REGDWORD และ REGBINARY เวลาที่ผ่านมาฉันโพสต์ฉันให้ฟังก์ชันที่ระบุวิธีง่ายๆในการอ่านรีจิสทรีด้วย VBScript ในโพสต์นี้ we8217ll ใช้วัตถุ Wscript. shell เดียวกันเป็นครั้งสุดท้ายเพียงใช้ method8211 ที่แตกต่างกันวิธี RegWrite โปรดทราบว่าการเขียนลงในรีจิสทรีอาจเป็นอันตรายต่อเสถียรภาพของระบบของคุณ ถ้าคุณไม่ทราบโดยเฉพาะคุณจำเป็นต้องเขียนตำแหน่งรีจิสทรีและมีค่าใดผมขอแนะนำไม่ให้เขียนรีจิสทรี ฉันใช้ที่ตั้งรีจิสทรีเพื่อใช้สคริปต์นี้ควรมีความปลอดภัยเท่าที่ฉันสามารถทำได้ ตัวอย่างนี้เขียนถึง HKEYCurrentUserVBScriptAdmin Teststring สำคัญ ซึ่งเป็นค่า REGSZ (หรือสตริง) You8217 จะสังเกตเห็นว่าค่านี้อาจไม่มีอยู่ก่อนที่คุณจะเรียกใช้สคริปต์ วิธีการสร้างเส้นทางทั้งหมดถ้า doesn8217t exist8211 ซึ่งเป็นที่ดีมาก (หรือไม่ให้ดีถ้าคุณพิมพ์ผิดเส้นทาง.) ในตอนท้ายของสคริปต์ที่คุณควรจะอ่าน ReadReg ฟังก์ชันอ่านค่ากลับและเขียนค่าอ่านซึ่ง ควรจะประสบความสำเร็จ ลองดูรหัส 8216HKEYCURRENTUSER HKCU 8216HKEYLOCALMACHINE HKLM 8216HKEYCLASSESROOT HKCR 8216HKEYUSERS HKEYUSERS 8216HKEYCURRENTCONFIG HKEYCURRENTCONFIG ชั่วคราว WriteReg (8220HKCUVBSriptAdminTeststring8221,8221Success8221,8221REGSZ8221) ชั่วคราว ReadReg (8220HKCUVBSriptAdminTeststring8221) Wscript. echo ชั่วคราวฟังก์ชั่น WriteReg (RegPath, ค่า RegType) 8216Regtype ควรจะ 8220REGSZ8221 สำหรับสตริง 8220REGDWORD8221 สำหรับจำนวนเต็ม, 8230 82168221REGBINARY8221 สำหรับไบนารีหรือแบบบูลและ 8220REGEXPANDSZ8221 สำหรับสตริงที่ขยายได้ Dim objRegistry, key objRegistry CreateObject (8220Wscript. shell8221) คีย์ objRegistry. RegWrite (RegPath, ค่า RegType) WriteReg ฟังก์ชัน End End Function ReadReg (RegPath) Dim objRegistry, Key Set ObjRegistry CreateObject (8220Wscript. shell8221) คีย์ objRegistry. RegRead (RegPath) ReadReg คีย์ End Function เช่นเคยรหัสนี้ทำงานได้อย่างสมบูรณ์ อย่างไรก็ตามบางครั้งการจัดรูปแบบของบล็อกจะแบ่งรหัสหากคุณคัดลอกและวางลงในตัวแก้ไขของคุณ ดังนั้นหากคุณต้องการพิมพ์หรือแก้ปัญหาข้อผิดพลาดทางไวยากรณ์เนื่องจากการคัดลอกและวางปัญหา 821 Ive ได้จัดเตรียมโค้ดสำหรับดาวน์โหลดรวมทั้งไฟล์ที่ส่งออกตัวอย่างจากการทดสอบครั้งสุดท้ายสำหรับคุณ คุณจะพบรหัสและไฟล์อื่น ๆ ที่สามารถดาวน์โหลดได้จากเว็บไซต์ของฉัน (websystemsadministration) File Depot ภายใต้หมวดหมู่ ITKE Scripts ของสคริปต์ สนุกและมีความสุขการเขียนสคริปต์ nbsp ความคิดเห็นเกี่ยวกับการแก้ไข PostRegistry นี้โดยใช้ VBScript 1. VBScript นี่เป็นเพียงบทนำสั้น ๆ เกี่ยวกับการใช้ VBScript เพื่ออ่านและแก้ไขรีจิสทรี VBScript ใช้ Microsofts Visual Basic มีทางเลือกอื่น ๆ รวมถึง JScript, Console Registry Tool reg. exe และไฟล์ inf สำหรับการแก้ไขรีจิสทรี เหล่านี้เป็นวิธีการที่มีประสิทธิภาพในการแก้ไขรีจิสทรีและ VBS และ JS ใช้ในการหักหลังการตั้งค่า Windows และ IE ของคุณรวมทั้งการล็อกรีจิสทรี ดังนั้นคุณสามารถใช้สคริปต์เพื่อปลดล็อกรีจิสทรีของคุณเป็นสคริปต์การเข้าสู่ระบบและทำงานซ้ำ ๆ โดยอัตโนมัติในการปรับใช้ โปรดดูบทความของฉันเกี่ยวกับคำสั่ง quotlock reglock สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับการปลดล็อก regedit Windows XPs โฮสต์สคริปต์ของ Windows รองรับ VBScript (และ JScript) เพียงบันทึกไฟล์ข้อความที่สร้างขึ้นใน Notepad เป็น vbs และดับเบิลคลิกเพื่อเรียกใช้ นอกจากนี้คุณยังสามารถใช้ cscript. exe บรรทัดคำสั่ง เครื่องมือรักษาความปลอดภัยของบุคคลที่สาม (เช่น Script Defender และ anti-virus) ควรจะแสดงคำเตือนเกี่ยวกับสคริปต์ที่เป็นอันตรายและข้อเสนอเพื่อหยุดการทำงาน หากคุณรู้ว่าสคริปต์ปลอดภัยแล้วคลิกตกลงหรืออนุญาตให้เรียกใช้ ถ้าคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ VBS และวัตถุเปลือกอ่านหนังสือและบทแนะนำแบบออนไลน์ แต่คุณสามารถเรียนรู้ไวยากรณ์ VBS ได้อย่างรวดเร็วเพื่อแก้ไขรีจิสทรีโดยไม่ต้องเรียนรู้ VBS ในรายละเอียดมากเท่าที่คุณจะพบได้ที่นี่ ออบเจ็กต์ Shell วัตถุของเชลล์สามชุดสำหรับรีจิสตรีคือ: RegRead RegWrite และ RegDelete ค่าข้อมูลบางค่าไม่ได้รับการสนับสนุนและค่าไบนารีก่อให้เกิดปัญหาซึ่งจะอธิบายไว้ด้านล่างนี้ ในไวยากรณ์ต่อไปนี้ strName หมายถึงคีย์หรือค่าในเครื่องหมายคำพูด ใช้เส้นทางแบบเต็มหรือคำย่อมาตรฐาน (HKCR, HKCU, HKLM เส้นทางที่เหลือแบบเต็ม) เส้นทางที่ลงท้ายด้วยเครื่องหมาย a แสดงว่ามีคีย์และเครื่องหมายที่ลงท้ายด้วยชื่อค่าชื่อค่า quotHKCUTestingSubkeyquot หมายถึงคีย์หรือค่าดีฟอลต์ของคีย์และ quotHKCUTestingSubkeyMy Documentquot หมายถึงชื่อค่า My Documents ของคีย์คีย์ย่อย โปรดใช้ความระมัดระวังในการทดลองใช้สคริปต์ เปิด regedit เพื่อให้คุณสามารถติดตามว่ากำลังเกิดอะไรขึ้น สำรองอย่างเพียงพอก่อน ทดสอบสคริปต์ของคุณอย่างละเอียดเสมอ 2.1 RegWrite Object. RegWrite (strName, anyvalue, strType) RegWrite ไม่สามารถเขียนลงในสตริง REGMULTISZ และ จำกัด การเขียนเฉพาะไบต์ที่มีขนาด 4 ไบต์หรือ DWORD หนึ่งอันใน REGBINARY VBS แบบง่ายต่อไปนี้จะสร้างคีย์ย่อยย่อยสี่คีย์ที่มีสตริงที่แตกต่างกันภายในคีย์การทดสอบในกลุ่ม HKCU สำหรับความชัดเจน Ive แยกรหัสกับแบ่งบรรทัด ไม่มีข้อความแจ้ง (ยกเว้นไวรัสของคุณ) หรือข้อความยืนยัน บรรทัดแรกของรหัสกำหนดวัตถุเชลล์ รหัส RegWrite แรกเขียนค่าเริ่มต้นไปยังคีย์ย่อย หากคีย์ไม่อยู่ก็จะสร้างขึ้น ถ้ามีอยู่แล้ว แต่มีค่าแตกต่างกันก็จะเปลี่ยนไป รหัสที่สองเป็นบรรทัดเดียว (ตามที่ระบุโดย) ตั้งเชลล์ 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 นอกจากนี้คุณยังสามารถใช้ WshShell วัตถุรูปแบบ : ชุด 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 ผลสำคัญในรีจิสทรีเป็น แสดงไว้ที่นี่ (รูปที่ 1) มะเดื่อ. 1. คีย์รีจิสทรีใหม่ที่สร้างขึ้นโดยใช้สคริปต์ข้างต้น หมายเหตุค่าไบนารีมีสี่ไบต์เท่านั้น 2.2 RegRead Object. RegRead (strName) ถ้าระบุชื่อคีย์ RegRead จะอ่านค่าดีฟอลต์ ถ้าไม่มีคีย์ส่งกลับข้อผิดพลาด สคริปต์ต่อไปนี้อ่านคีย์รีจิสทรีข้างต้นยกเว้นค่าไบนารี แตกต่างจากวัตถุสองตัวอื่น ๆ คุณต้องใส่เส้นทางในวงเล็บ WshShell. RegRead (quotHKCUTestingSubkeyValueNamequot) อ็อบเจ็กต์ Echo จะแสดงค่าในหน้าต่าง WSH ทีละหนึ่งชุดการตั้งค่า WshShell CreateObject (quotWKeyTools) เสียงก้องแรกนี้ (รูปที่ 2) มะเดื่อ. 2. คุณสามารถเพิ่มประโยคที่มีความหมายสำหรับค่าและ echo ทั้งสามร่วมกัน (รูปที่ 3) ด้วยสคริปต์แก้ไขเช่นนี้ WshShell. RegRead (quotHKCUTestingSubkeyMy Documentsquot) c WshShell. RegRead (quotHKCUTestingSubkeyValueNamequot) Wscript. Echo quotThe ค่าดีฟอลต์ HKCUTestingSubkeys isquot, a, quot, quot, quotee My Documents มีค่าเป็นตัวเลข , b, quot, quot, quot; valueName isquot, c, quot. qu เป็นตัวเลข 3. กล่องข้อความ WSH พร้อมข้อความเต็มรูปแบบอ่านทั้งสามคีย์ นอกจากนี้คุณยังสามารถหาตัวอย่างของ VBS เพื่ออ่านและเปิดใช้งานรีจิสทรีอีกครั้งหากไม่สามารถใช้งานได้ให้ดูที่บทความนี้เพื่อดูรายละเอียด ดาวน์โหลดและตรวจสอบสคริปต์ 2.2.1 ค่าตัวแปร RERINARY REARINARY อ่านค่าไบนารี (ไบนารีหรือ hexadecimal data) สคริปต์ต้องอ่านและรวมอาร์เรย์ สคริปต์ต่อไปนี้อ่านรีจิสทรีคีย์นี้: HKEYCURRENTUSERSoftwareMicrosoft WindowsCurrentVersionPoliciesExplorer NoDriveTypeAutoRun REGBINARY 5f 00 00 00 ตั้ง Shell CreateObject (quotWScript. Shellquot) arr Shell. RegRead (quotHKCUSoftwareMicrosoftWindows CurrentVersionPoliciesExplorerNoDriveTypeAutoRunquot) สำหรับ I LBound (arr) ไปยัง UBound (arr) (I) CInt (arr (I)) b (I) Hex (CInt (arr (I))) ถัดไป Wscript. Echo quot คีย์รีจิสทรีมีค่าเป็นเลขคี่, เข้าร่วม (a), quot, quot, quot ค่า hex isquot, Join (b), quot (b) ,, quot ค่าเลขฐานสิบหกนี้คือขีด จำกัด คุณสามารถปรับแต่งกล่องข้อความได้ วัตถุ Wscript. Echo ข้างต้นให้ผลลัพธ์นี้ (รูปที่ 4) โดยคำนึงถึงว่า 5f เป็น 95 ในรูปทศนิยม (5x1615): รูปที่ 4. WSH กล่องข้อความให้คีย์รีจิสทรีทศนิยมและค่า hex ในอาร์เรย์ กล่องข้อความจะให้ทั้งสองคนนี้ (รูปที่ 5 และ 6): รูปที่ 5. WSH กล่องให้ค่าทศนิยมจาก 95 ในอาร์เรย์ มะเดื่อ. 6. กล่อง WSH ให้ค่า hex ของ 5F ในอาร์เรย์ นี่เป็นอีกวิธีหนึ่งที่จะทำในขณะนี้โดยอ่านคีย์ hex ที่อื่น ตั้งค่าเชลล์ CreateObject (quotWScript. Shellquot) arrRegValue Shell. RegRead (quotHKCUSoftwareMicrosoftInternet ExplorerDocument WindowsWidthquot) strRegValue StrPad (Hex (arrRegValue (0)), 2, quot0quot) แอมป์ quot amp StrPad (Hex (arrRegValue (1)), 2, quot0quot) แอ็พพลิเคชันแอ็พพลิเคชัน StrPad (Hex (arrRegValue (2)), 2, quot0quot) amp quot amp StrPad (Hex (arrRegValue (3)), 2, quot0quot) Wscript. Echo quot คีย์รีจิสทรีมีค่าเลขฐานสิบหกคือ isquot, strRegValue Private Function StrPad (Unpadded, Length, Padding) สตริง StrPad ((ความยาว Len (Unpadded)), Padding) แอมป์ฟังก์ชัน End Unpadded 2.3 RegDelete ระมัดระวังในเรื่องนี้เนื่องจากไม่มี prompt หรือ undo ต้องระบุเฉพาะชื่อคีย์หรือค่าเท่านั้นไม่ใช่ข้อมูลหรือประเภทสตริง VBS นี้ลบ ValueName (Hello) ออกจากคีย์การทดสอบด้านบน ตั้งค่าเชลล์ CreateObject (quotWScript. Shellquot) VBS นี้ลบคีย์ย่อยต่อไปนี้: quotSubkeyquot พร้อมกับเนื้อหาทั้งหมดที่อยู่ภายใต้มันออกจากคีย์การทดสอบที่เหมือนเดิม ตั้งค่า Shell CreateObject (quotWScript. Shellquot) Honeycutt, Jerry, คู่มือการใช้ Microsoft Windows XP Registry (Redmond: Microsoft Press, 2003) Knittel, Brian, Windows XP ภายใต้ Hood Windows Scripting และ Command Line Power (อินเดียแนโพลิส: Que, 2003) ทีมสคริปต์สคริปต์ Microsoft Windows Resource Kit คู่มือการเขียนสคริปต์ Windows 2000 (Redmond: Microsoft Press, 2003) ขอขอบคุณเป็นพิเศษสำหรับผู้ที่ช่วยเหลือฉันในฟอรัมสาธารณะเกี่ยวกับข้อมูลไบนารี RegRead . ลิขสิทธิ์ 2003-2005 by Kilian บทความทั้งหมดของฉันรวมถึงกราฟิกที่มีให้โควต้ามีไว้ซึ่งไม่มีการรับประกันใด ๆ ฉันขอปฏิเสธการรับประกันทั้งหมดเกี่ยวกับข้อมูลที่ให้ไว้ ไม่ว่าในกรณีใดฉันจะต้องรับผิดต่อความเสียหายใด ๆ ที่เกิดจากข้อมูล บทความนี้ได้รับการแจ้งโดยสุจริตและหลังการตรวจสอบระดับใด ๆ แต่อาจมีข้อผิดพลาดด้านเทคนิคหรือการพิมพ์ผิด ลิงก์ไปยังแหล่งข้อมูลเว็บอื่น ๆ อาจมีการเปลี่ยนแปลงได้ตลอดเวลาและอยู่นอกเหนือการควบคุมของผู้เขียน บทความสามารถเพิ่มนำออกแก้ไขหรือปรับปรุงได้ตลอดเวลา ผู้เขียนไม่ได้รับการสนับสนุน นี่ไม่ใช่หน้าการสนับสนุนอย่างเป็นทางการสำหรับผลิตภัณฑ์ใด ๆ ที่กล่าวถึง ผลิตภัณฑ์ทั้งหมดที่กล่าวถึงเป็นเครื่องหมายการค้าของ บริษัท ของพวกเขา แก้ไขรีจิสทรีโดยความเสี่ยงของคุณเองและสำรองข้อมูลก่อน อัปเดตล่าสุดเมื่อวันที่ 22 มีนาคม 2548

Comments