การควบคุมเวอร์ชันสำหรับการกำหนดค่า Windows


8

ฉันจะทำให้การตั้งค่าส่วนตัว Windows ของฉันอยู่ภายใต้การควบคุมเวอร์ชันได้อย่างไร

สรุป (รายละเอียดและตัวอย่างมีดังนี้):

  • การกำหนดค่าส่วนบุคคล (เช่นการตั้งค่าเดสก์ท็อป) ไม่ใช่การกำหนดค่าระบบ (เช่นไดรเวอร์) ควรทำงานโดยไม่มีสิทธิ์ของผู้ดูแลระบบ
  • การควบคุมเวอร์ชันไม่ใช่การสำรองข้อมูลหรือการสร้างภาพดิสก์

นี่คือบางสิ่งที่ฉันต้องการจะทำ:

  • ยอมรับสถานะปัจจุบันของการกำหนดค่าของฉันไปยังที่เก็บซึ่งควรมีความละเอียดมาก (ถ้าฉันทำการเปลี่ยนแปลงสองครั้งฉันต้องการที่จะส่งมอบโดยไม่ทำอะไรเลย)
  • เขียนรายการบันทึกการเปลี่ยนแปลงเมื่อใดก็ตามที่ฉันยอมรับและดูรายการของรายการการเปลี่ยนแปลงสำหรับแต่ละไฟล์การกำหนดค่า
  • ดูความแตกต่างระหว่างสถานะปัจจุบันและเวอร์ชันที่เก็บ
  • ลองใช้ที่เก็บข้อมูลของฉันบนเครื่อง Windows เครื่องใหม่และสร้างการกำหนดค่าของฉันใหม่ (อย่างน้อยถ้าเครื่องใหม่มี Windows รุ่นเดียวกัน)

<เบาะ 1> ฉันจะไม่พยายามให้คำจำกัดความที่ชัดเจนเกี่ยวกับ“ การกำหนดค่า”; ฉันกำลังพยายามครอบคลุมการตั้งค่าส่วนตัวทุกประเภท(เช่นอะไรก็ตามที่ตั้งค่าได้ในแผงควบคุมโดยไม่มีสิทธิ์ของผู้ดูแลระบบทางลัดในเมนู "โปรแกรม" เฉพาะผู้ใช้ของฉัน ... ) ฉันไม่ต้องการรวมเอกสารหรือแอปพลิเคชันที่ติดตั้งไว้ </ added1>

<เบาะ 2> โปรดทราบว่าฉันกำหนดเป้าหมายการกำหนดค่าส่วนบุคคลของฉันไม่ใช่การกำหนดค่าระบบ (ซึ่งจะเป็นประโยชน์เช่นกัน แต่ไม่ใช่จุดประสงค์ของคำถามนี้) เช่นฉันคาดหวังว่าโซลูชันจะทำงานโดยไม่มีสิทธิ์ผู้ดูแลระบบ </ added1>

ทำอะไรในยูนิกซ์คือการใส่ (การเลือกของฉัน) ไฟล์จุดภายใต้การควบคุมรุ่น ภายใต้ Windows, ฉันเข้าใจฉันควรกระทำรีจิสทรีและบางไฟล์ (ซึ่ง?) Application Dataภายใต้ ฉันต้องการสิ่งที่ดีกว่าการวางไฟล์รีจิสตรีทั้งหมดภายใต้การควบคุมเวอร์ชัน (นั่นไม่เพียงพออย่างเพียงพอ <เบาะ 1> โดยหลักการแล้วฉันจะใช้โปรแกรมเสริมหรือสคริปต์กับซอฟต์แวร์ควบคุมเวอร์ชันทั่วไปบางอย่าง (Bazaar, CVS, Darcs, Git, Mercurial, Subversion, …) แต่นั่นไม่ใช่ข้อกำหนดที่แน่นอน </ added1>

ฉันต้องทำงานกับ Windows 2000 และ Windows XP ในปัจจุบัน เนื่องจากนี่เป็นเครื่องทำงานเครื่องชำระเงินจะไม่ทำ (โอเพนซอร์สจะเหมาะที่สุด) ฉันรู้สึกสบายใจกับบรรทัดคำสั่งมากกว่ากับ GUI

<เบาะ 1> นี่คือตัวอย่างเวิร์กโฟลว์:

  • วันหนึ่งฉันตัดสินใจว่าฉันต้องการให้พื้นหลังเดสก์ท็อปของฉันเป็นสีชมพู ดังนั้นฉันจึงทำการเปลี่ยนแปลงผ่าน GUI สิ่งนี้จะแก้ไขบรรทัดในคีย์ไฟล์การกำหนดค่าในรีจิสทรี จากนั้นฉันก็คอมมิชชันการเปลี่ยนแปลงเพื่อติดตามมัน
  • ต่อมาฉันสงสัยว่าทำไมพื้นหลังเดสก์ท็อปของฉันจึงเป็นสีชมพู ดังนั้นฉันค้นหา "สีเดสก์ท็อป" ในรายการเปลี่ยนแปลง
  • วันหนึ่งฉันต้องใช้เครื่องใหม่ ดังนั้นฉันตรวจสอบจากที่เก็บการกำหนดค่าของฉันและvoilà, เดสก์ท็อปสีชมพู

นี่คือบางสิ่งที่ฉันไม่ได้พยายามทำ:

  • ฉันไม่ได้พยายามทำการสำรองข้อมูล ฉันต้องการที่จะสามารถติดตามการเปลี่ยนแปลง (ตามความหมายหรืออย่างน้อยไวยากรณ์ไม่เพียง แต่ตามวันที่) และเพื่อแบ่งปันข้อมูลระหว่างเครื่อง (พื้นที่เก็บข้อมูลเดียว, การจ่ายเงินหลายครั้ง)

  • ฉันไม่ได้พยายามทำการติดตั้ง Windows ซ้ำ ฉันไม่ต้องการดำเนินการตามการพึ่งพาฮาร์ดแวร์แอปพลิเคชันที่ติดตั้งหรือเอกสาร

</ added1>


4
อะไรคือเป้าหมายสุดท้ายของสิ่งนี้คุณพยายามที่จะทำวิศวกรรมย้อนกลับแอพ เหตุผลที่ฉันถามคือไม่มีรายงานเกี่ยวกับสิ่งที่แตกต่างกันการรักษาสถานะการทำแห้งแบบเยือกแข็งจะเป็นเรื่องง่าย แม้การเห็นการเปลี่ยนแปลงอาจไม่ยากเกินไป แต่ไม่ได้ตรวจสอบสิ่งเหล่านั้นในการควบคุมเวอร์ชัน ฉันแค่ต้องการความเข้าใจเพิ่มเติมเกี่ยวกับสิ่งที่คุณต้องการทำให้สำเร็จและบางทีฉันอาจแนะนำวิธีการอื่น
Scott McClenning

เห็นด้วยกับ @Scott ฉันไม่เห็นว่านี่เป็นเรื่องจริงมาก (หรือเป็นไปได้สำหรับเรื่องนั้น) รายละเอียดเพิ่มเติมเกี่ยวกับสิ่งที่คุณพยายามทำให้สำเร็จนั้นยอดเยี่ยมมาก
Sasha Chedygov

1
+1 ... คุณเกือบจะผิดวิธีนี้
Zac Thompson

@Scott: เป้าหมายของฉันคือการใช้การควบคุมเวอร์ชันสำหรับการปรับแต่ง Windows ของฉัน ฉันไม่รู้ว่าทำไมคำถามของฉันจึงแนะนำวิศวกรรมย้อนกลับให้กับคุณ @Zac: ฉันไม่สามารถไปในทางที่ผิดเพราะฉันยังไม่ได้ทำขั้นตอนแรก
Gilles 'หยุดความชั่วร้าย'

ดูเหมือนว่าเป้าหมายของคุณคือการทำบางสิ่งบางอย่างในระบบแล้วดูว่าเกิดอะไรขึ้นตั้งค่าการกำหนดค่าที่คุณสามารถกู้คืนได้ในภายหลัง หากคุณไม่จำเป็นต้องกู้คืนการกำหนดค่าในภายหลังฉันจะใช้ซอฟต์แวร์เครื่องเสมือนเพื่อถ่ายภาพ นั่นจะไม่บอกคุณว่าเกิดอะไรขึ้น แต่มันจะพาคุณไปยังจุดเดิมซ้ำแล้วซ้ำอีก หากคุณต้องการดูว่าแอปทำอะไรมีโปรแกรมที่ทำไฟล์ msi โดยทำส่วนต่างของระบบก่อนและติดตั้งโพสต์ จากนั้นคุณสามารถดูภายใน msi และดูว่าแอปสัมผัส / เปลี่ยนแปลงอะไร แต่สิ่งเหล่านี้ไม่เป็น "การควบคุมเวอร์ชัน"
Scott McClenning

คำตอบ:


9

เท่าที่ฉันรู้การกำหนดค่า Windows กระจัดกระจายเกินไปที่จะสำรองข้อมูลได้อย่างน่าเชื่อถือท่ามกลางไฟล์และสถานที่ต่าง ๆ ในรีจิสทรี

เป็นไปไม่ได้ที่จะสำรองข้อมูลรีจิสตรีในเครื่องหนึ่งและเรียกคืนในอีกเครื่องหนึ่ง (หรือในเครื่องเดียวกัน) เนื่องจากมีคีย์มากเกินไปเฉพาะสำหรับเครื่องและเนื่องจากบางคีย์ได้รับการปกป้องโดย Windows

การคืนค่าระบบมีจุดมุ่งหมายเพื่อรักษาสถานะของเครื่อง แต่สำหรับจุดประสงค์ของคุณมันไม่น่าเชื่อถือเนื่องจากมันจะตัดสินใจเองว่าการสำรองข้อมูลใดที่จะลบเพื่อประหยัดพื้นที่และมีปัญหาด้านลบอื่น ๆ เช่นไม่มีใน Windows 2000

ทางออกเดียวที่ฉันเห็นคืออิมเมจดิสก์ระบบอย่างครบถ้วนและเรียกคืนได้เมื่อต้องการโดยใช้ผลิตภัณฑ์ดิสก์อิมเมจ

มีผลิตภัณฑ์ภาพอิมเมจหลายผลิตภัณฑ์ที่มีคุณภาพดีมากซึ่งฉันสามารถแนะนำได้หากคุณพบว่าโซลูชันนี้เป็นที่สนใจของคุณ หลายคนเก็บที่เก็บของภาพที่มีคำอธิบาย แม้ว่าสิ่งที่ดีที่สุดคือการค้าคนฟรีแวร์ยังดีมาก

การถ่ายภาพบนดิสก์ทำงานได้ดีที่สุดเมื่อไดรฟ์ระบบไม่มีข้อมูลผู้ใช้


1
+1 ฉันเห็นด้วยกับสิ่งนั้น ฉันไม่เห็นคุณสมบัติของ Disk-Imaging แต่ฉันใช้ DriveImage ( runtime.org/driveimage-xml.htm ) ซึ่งช่วยให้คุณสำรองข้อมูลดิสก์ในขณะที่ใช้ระบบโดยใช้เทคนิคที่เชื่อถือได้ นอกจากนี้ยังช่วยให้คุณสามารถเรียกดูไฟล์
Cristian T

อาจง่ายกว่าที่จะใช้ VM และถ่ายภาพสแนปชอตแทนที่จะใช้ผลิตภัณฑ์สร้างภาพดิสก์ นั่นจะง่ายกว่ามากในการโยกย้ายระหว่างเครื่องหากฮาร์ดแวร์ไม่เหมือนกัน
ศาสน

@harrymc: ฉันขอโทษถ้าสูตรเริ่มต้นของฉันไม่ชัดเจนในครั้งแรก (ฉันสงสัยว่ามันใช้พื้นหลังยูนิกซ์ที่จะเข้าใจสิ่งที่ฉันหมายถึง) แต่ฉันพยายามสำรองข้อมูลการกำหนดค่าผู้ใช้ของฉันไม่ได้กำหนดค่าระบบ .
Gilles 'หยุดความชั่วร้าย'

1
คำตอบจะยังคงเหมือนเดิมเว้นแต่คุณจะ จำกัด รายการองค์ประกอบในการกำหนดค่าผู้ใช้ให้แคบลง ไม่มีพื้นที่ "การกำหนดค่าผู้ใช้" จริงใน Windows ซึ่งแตกต่างจากไดเรกทอรี Linux dot มีกลุ่มรีจีสทรีผู้ใช้อยู่ แต่มีข้อมูลผู้ใช้จำนวนมากกระจัดกระจายอยู่ในสถานที่อื่นและทั่วดิสก์ใน "โปรแกรมไฟล์", "ผู้ใช้" ฯลฯ คุณไม่สามารถตรวจสอบการเปลี่ยนแปลงรีจีสทรีได้ ของพวกเขาในขณะที่ทำงาน และทุกแอปพลิเคชันจะคิดค้นกฎของตนเอง มีเหตุผลว่าทำไมลินุกซ์มีประสิทธิภาพมากขึ้น ... เป็น
harrymc

ในฐานะผู้ใช้ Windows ฉันก็อยากจะมีกลไกเช่นคุณร่าง อนิจจามันเป็นไปไม่ได้เลยทีเดียว คุณจะต้องติดตามทุกแอปพลิเคชันและประเภทของการเปลี่ยนแปลงโดยใช้การตรวจสอบกระบวนการเพื่อหาที่เก็บข้อมูล นี่เป็นโครงการขนาดใหญ่ที่ต้องใช้เวลามหาศาลในการลงทุน
harrymc

2

มาจากฝั่งเซิร์ฟเวอร์ของรั้วที่คุณคาดหวังว่าเราจะหวาดระแวงมากเกี่ยวกับการเปลี่ยนแปลงการกำหนดค่าและที่มาจากฉันสามารถพูดได้ว่าพวกเขาไม่ได้มีอยู่จริง การติดตามการกำหนดค่าส่วนกลางเป็นกระบวนการที่ดำเนินการด้วยตนเองโดยส่วนใหญ่ เป็นไปได้ที่จะตรวจสอบ (แต่ไม่ป้องกัน ) พื้นที่รีจิสทรีเฉพาะสำหรับการเปลี่ยนแปลง แต่ฉันรู้ว่าไม่มีแพ็คเกจซอฟต์แวร์ฟรี / ราคาถูกที่อนุญาตให้ใช้และมีราคาแพงมาก (เป็นปัญหาที่ซับซ้อนมากกว่าการติดตามไฟล์ข้อมูลแล้วแตกต่างกันสองอย่าง ไฟล์ข้อความจึงมีราคาแพง)

ไดรฟ์นี้ Unix ผู้ดูแลระบบบ้า Kyle Brandtผู้ดูแลระบบสำหรับ StackOverflow Inc กำลังได้รับความสนใจเกี่ยวกับสิ่งนี้เมื่อสองสามสัปดาห์ก่อนขณะที่เขากำลังจัดเตรียมเครื่อง Windows รุ่นใหม่สำหรับ StackExchange SysAdmins ครอสโอเวอร์ Linux / Windows ทั้งหมดมอบให้กับเขา ไม่มี Windows ที่เทียบเท่ากับการวาง / etc ภายใต้ VCS มี kludges ที่น่าเกลียดบางอย่างอยู่ที่นั่นเช่นดิสก์อิมเมจ / สแนปชอตหรือบังคับให้เปลี่ยนการกำหนดค่าผ่านนโยบายกลุ่ม (และติดตามการเปลี่ยนแปลงของ GPO ด้วยตนเอง) แต่ไม่มีอะไรจะสวยหรู

ขอโทษ


2

ส่วนตัวผมติดตามการเปลี่ยนแปลงในรีจิสทรีหน้าต่างด้วยRegshot คุณถ่ายภาพก่อนที่จะมีการเปลี่ยนแปลงจากนั้นเปลี่ยนเป็นภาพที่สองหลังจากทำการเปลี่ยนแปลง นอกจากนี้คุณยังสามารถรับรายงาน HTML ที่ดีเกี่ยวกับการเปลี่ยนแปลง แน่นอนคุณต้องทำให้แน่ใจว่ามีการเปลี่ยนแปลงเพียงเล็กน้อยระหว่างสแน็ปช็อตหากคุณต้องการทราบว่าการเปลี่ยนแปลงทุกอย่างทำอะไร Regshot เป็นโปรแกรมโอเพ่นซอร์ส

หากคุณกำลังมองหาระบบการติดตามการเปลี่ยนแปลงไฟล์ / สำรองข้อมูลที่ใกล้เคียงที่สุดมีอาจจะเป็นDocShield คุณสามารถติดตามโฟลเดอร์ต่าง ๆ ได้แม้ว่าข้อมูลแอพพลิเคชั่นน่าจะเป็นการคาดเดาที่ดีที่สุดสำหรับการเปลี่ยนแปลงการตั้งค่าส่วนตัวของผู้ใช้ windows ส่วนใหญ่ที่รับรู้โปรไฟล์ซอฟต์แวร์ DocShield ให้บริการฟรีสำหรับผู้ใช้ตามบ้าน คุณสามารถเลียนแบบสิ่งที่มันทำโดยใช้xcopy /d:{m-d-y}โฟลเดอร์ที่คุณต้องการแล้ว zip / 7z เอาท์พุท

จากนั้นเพิ่มเอาต์พุตจากการสำรองข้อมูลทั้งสองไปยังที่เก็บการควบคุมเวอร์ชันด้วยหมายเหตุของคุณ


เนื่องจากฉันไม่สนใจเกี่ยวกับรายงาน HTML Regshot จะทำอย่างไรที่ Microsoft reg.exeและ Cygwin regtoolไม่ทำ สำหรับ DocShield มันทำอะไรได้บ้างที่ซอฟต์แวร์ควบคุมเวอร์ชันใดจะไม่ทำงานได้ดีขึ้น?
Gilles 'หยุดชั่วร้าย'

รางวัลสำหรับรางวัล Regshot ฉันไม่คิดว่ามันเป็นสิ่งที่ฉันต้องการจริงๆ แต่เป็นการเริ่มต้นที่ดีที่ฉันสามารถสร้างได้ (โดยเฉพาะอย่างยิ่งเมื่อมันเป็นโอเพ่นซอร์ส)
Gilles 'หยุดชั่วร้าย'

ฉันคิดว่าของฉันเป็นมากกว่าสิ่งที่คุณกำลังมองหา ... แต่ไม่ใช่เพราะฉันต้องการความโปรดปรานเพียงเพื่อแจ้งให้คุณทราบ
jer.salamon

1

มันจะไม่ง่าย แต่คุณสามารถใช้ Sysinternals Process Monitor เพื่อตรวจสอบว่ามีการเปลี่ยนแปลงไฟล์และการตั้งค่ารีจิสทรีใดบ้าง จากนั้นคุณสามารถเพิ่มการแก้ไขรีจิสทรีและไฟล์ที่อัปเดตลงในโปรแกรมที่มีขนาดใหญ่กว่าซึ่งจะทำการเปลี่ยนแปลงให้คุณ คุณอาจใช้ Power Shell หรือ AutoIt จากนั้นตรวจสอบสคริปต์ผลลัพธ์ลงใน vcs ของคุณ ฉันใช้วิธีที่คล้ายกันสำหรับการตั้งค่าแปลก ๆ ให้เป็นสคริปต์การเข้าสู่ระบบและแม่แบบการจัดการนโยบายกลุ่มที่กำหนดเอง


ถ้าฉันเข้าใจคุณอย่างถูกต้องคุณกำลังเสนอให้เก็บเฉพาะความแตกต่างที่เกิดจากการเปลี่ยนแปลงของฉันแทนที่จะเป็นสตรีและApplication Dataเนื้อหาทั้งหมดใช่ไหม ฉันจะตรวจพบการเปลี่ยนแปลงที่เกิดขึ้นเมื่อโปรแกรมมอนิเตอร์ไม่ทำงานด้วยเหตุผลบางอย่างได้อย่างไร มีวิธีที่สมเหตุสมผลในการขยายเวิร์กโฟลว์เพื่อเปิดใช้งานการดำเนินการอัปเดตหรือไม่ (เช่นฉันได้ทำการชำระเงินแล้วและต้องการใช้การเปลี่ยนแปลงเพิ่มเติมเล็กน้อยในเครื่องอื่น)
Gilles 'หยุดชั่วร้าย'

1

ฉันไม่มีโซลูชันระบบปฏิบัติการสำหรับคุณ แต่มีความเป็นไปได้ที่ต้องจ่าย สิ่งที่คุณสามารถทำได้คือการสำรองข้อมูลไดรฟ์โดยใช้DriveImage XML

รูปแบบการสำรองข้อมูลคือ XML จากนั้นคุณสามารถบันทึกไฟล์ xml นี้ (สามารถทำได้เช่นกัน) ไปยังระบบควบคุมเวอร์ชันที่คุณโปรดปราน

ตามที่HarryMCได้กล่าวไว้คุณไม่สามารถใช้ภาพนี้เพื่อทำการเปลี่ยนแปลงกับระบบใหม่ได้ แต่คุณสามารถใช้ภาพในระบบใหม่ด้วยฮาร์ดแวร์เดียวกันได้อย่างแน่นอน


1

คุณสามารถใช้ซอฟต์แวร์การจัดการโปรไฟล์ของ ForensiT เพื่อคัดลอกโปรไฟล์ทั้งหมดของคุณด้วยการตั้งค่าปิดกล่องหน้าต่าง ไปที่นี่เพื่อตรวจสอบ: ผู้จัดการโปรไฟล์ผู้ใช้


ฉันไม่เห็นว่าโปรแกรมนี้สามารถช่วยฉันได้อย่างไร: ดูเหมือนว่าจะเป็นการปรับใช้ส่วนกำหนดค่ากับหลาย ๆ เครื่องซึ่งไม่ใช่ข้อกังวลหลักของฉัน (การจัดการประวัติ) ฉันเห็นว่ามันอาจเป็นเครื่องมือที่มีค่าสำหรับผู้ดูแลระบบ แต่ฉันเป็นผู้ใช้ที่นี่
Gilles 'หยุดความชั่วร้าย'

มันให้ความสามารถในการสำรองข้อมูลโปรไฟล์ผู้ใช้ของคุณและสามารถเรียกคืนได้เมื่อคุณเลือก นั่นไม่ใช่สิ่งที่คุณต้องการหรือ
jer.salamon

-2

ดูเหมือนว่าคุณกำลังอธิบายแอปพลิเคชันฐานข้อมูลที่คุณติดตามรีจิสตรีคีย์และจัดทำดัชนีด้วยแท็ก แม้ว่าฉันจะไม่ได้มีเทคนิคเพียงพอกับรีจิสตรีคีย์ในการทำเช่นนี้ในตัวอย่างของคุณคุณต้องการค้นหาฐานข้อมูลของ Pink Desk และรับคำแนะนำที่จะนำการเปลี่ยนแปลงนั้นไปใช้กับคอมพิวเตอร์เครื่องอื่น นั่นคือถ้าฉันเข้าใจความตั้งใจของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.