เอกสารอ้างอิงบรรทัดคำสั่ง
ทุกคำสั่ง ทุกตัวเลือก และทุกรหัสออกของ bws เวอร์ชัน 0.5.0 bws --help เป็นฉบับที่เชื่อถือได้และยาวกว่า หน้านี้คือพื้นผิวเดียวกันที่จัดไว้ให้อ่าน
คำสั่ง
11 คำสั่ง snapshot เป็นคำนามและต้องมีคำตามหลัง tool เป็นคำนามเช่นกัน และเมื่อใช้เดี่ยวๆ จะแสดงรายการเครื่องมือ
bws list [--query TEXT] [--signatures] [--memory] [--required-by] [--follow-network] [--json] [--timing]
bws show NAME [--full] [--follow-network] [--json] [--timing]
bws stop|start|restart NAME [--dry-run] [--dependents] [--timeout SECONDS] [--json] [--timing]
bws kill NAME [--force] [--restart] [--dry-run] [--dependents] [--timeout SECONDS] [--json] [--timing]
bws start-type NAME automatic|delayed|manual|disabled [--stop] [--dry-run] [--json] [--timing]
bws snapshot create [FILE] [--note TEXT] [--follow-network] [--force] [--json] [--timing]
bws snapshot diff EARLIER LATER [--exit-code] [--json] [--timing]
bws snapshot diff EARLIER --live [--exit-code] [--json] [--timing]
bws history [NAME] [--json] [--timing]
bws tool
bws tool fix
bws tool fix NAME [--dry-run] [--timeout SECONDS] [--json] [--timing]
bws license [--components]
bws --help
bws --version
คำสั่งที่พิมพ์ผิดจะได้รับคำแนะนำคำสั่งที่คุณน่าจะหมายถึง และการรันจบด้วยรหัส 2 แทนที่จะทำสิ่งที่ใกล้เคียงกับที่คุณขอ
$ bws lst
There is no command lst. Did you mean list?
แต่ละคำสั่งทำอะไร
list และ show
list คือทั้งเครื่อง จำกัดให้แคบลงด้วย --query show คือหนึ่งรายการพร้อมทุกอย่างที่รู้เกี่ยวกับมัน ลายเซ็น สิทธิพิเศษ security descriptor และหน่วยความจำ อ่านทั้งหมดทุกครั้ง เพราะกับหนึ่งรายการมันใช้ประมาณ 60 มิลลิวินาที ขณะที่กับทั้งเครื่องใช้ 1 วินาที ฟิลด์ที่ว่างจริงๆ จะถูกละไว้ เว้นแต่คุณส่ง --full ฟิลด์ที่ไม่มีใครอ่านได้จะถูกพิมพ์เสมอ เพราะการละไว้จะดูเหมือนเป็นคำตอบ
stop, start และ restart
แต่ละคำสั่งสร้างแผนและทำตามแผนนั้น --dry-run พิมพ์แผนและไม่เปลี่ยนอะไร --dependents ใส่บริการที่จะเสียหายลงไปเป็นขั้นตอนของตัวเอง และ --timeout บอกว่าหนึ่งขั้นตอนอยู่ได้นานเท่าไรโดยไม่มีความคืบหน้า ไดรเวอร์ถูกปฏิเสธแทนที่จะลอง เพราะการหยุดไดรเวอร์เคอร์เนลมักย้อนกลับไม่ได้ถ้าไม่รีสตาร์ต
kill: สำหรับบริการที่หยุดไม่ลง
มันขอให้บริการหยุด และจบกระบวนการที่อยู่เบื้องหลัง เฉพาะเมื่อวิธีนั้นไม่ได้ผล รายการที่หยุดเองได้จึงไม่เคยถูกจบ การจบกระบวนการพาทุกบริการอื่นที่อยู่ในกระบวนการนั้นไปด้วย ไม่ว่าพวกมันจะหยุดก่อนหรือไม่ และตัวอย่างจะบอกชื่อพวกมันและระบุกระบวนการด้วยหมายเลข --force ข้ามขั้นตอนที่สุภาพ และตัวอย่างจะแสดงหนึ่งขั้นตอนแทนที่จะเป็นสอง --restart นำทุกอย่างกลับมาหลังจากนั้น
Windows สะกดความคิดนี้ต่างออกไป --force บน Stop-Service หมายถึง “แม้ว่าจะมีบางอย่างขึ้นอยู่กับมัน” ซึ่งคือสิ่งที่ --dependents ทำที่นี่ นั่นคือเหตุผลที่นี่เป็นคำสั่งของตัวเองแทนที่จะเป็นตัวเลือกของ stop
start-type: เป็นการตั้งค่า ไม่ใช่การเคลื่อนไหว
มันบอกว่าตัวจัดการจะทำอะไรกับรายการตอนบูตครั้งถัดไป และถ้าไม่มี --stop มันไม่ขยับอะไรเลย รายการที่กำลังทำงานก็ทำงานต่อ รายการที่หยุดอยู่ก็หยุดต่อ และแผนบอกไว้อย่างนั้น disabled คืออันที่ควรหยุดคิด เพราะมันทำให้ตัวจัดการไม่เริ่มรายการเลย รวมถึงเริ่มตามความต้องการให้สิ่งอื่นที่ต้องใช้มัน delayed คืออัตโนมัติที่เริ่มช้ากว่ารายการอัตโนมัติอื่นเล็กน้อย เป็นคำที่ start:delayed ถามถึงในคิวรี และ Windows ปฏิเสธมันสำหรับรายการในกลุ่มลำดับการโหลด ซึ่งแผนบอกก่อนจะมีอะไรเกิดขึ้น ทั้งสี่แบบเขียนว่ารายการเริ่มช้าหรือไม่ เหมือนที่ sc.exe ทำ --stop ซึ่งใช้ได้เฉพาะคู่กับ disabled จะหยุดรายการในแผนเดียวกันเมื่อเขียนการตั้งค่าแล้ว
snapshot create และ snapshot diff
create อ่านลายเซ็นและแฮชเสมอ เพราะสแนปช็อตถูกเก็บไว้และเปรียบเทียบทีหลัง และสแนปช็อตที่ไม่มีมันเมื่อเทียบกับอันที่มีจะดูเหมือนเครื่องเปลี่ยนไป diff บอกว่าอะไรเปลี่ยนจากไฟล์แรกไปไฟล์ที่สอง หรือจากไฟล์ไปเครื่องนี้ด้วย --live หน้าสแนปช็อตมีรูปแบบและเหตุผล
history: ใครเปลี่ยน จาก System log
การเปลี่ยนประเภทการเริ่มต้นและการติดตั้งจาก System log ใหม่สุดก่อน พร้อมบัญชีที่ Windows บันทึกไว้ บรรทัดแรกบอกว่า log ย้อนไปไกลแค่ไหนและเคยถูกล้างหรือไม่ เพราะประวัติยาวเท่า log เท่านั้น เมื่อมีชื่อ จะเป็นการเปลี่ยนประเภทการเริ่มต้นของบริการนั้น การติดตั้งแสดงเฉพาะเมื่อไม่มีชื่อ เพราะ Windows บันทึกการติดตั้งภายใต้ชื่อที่แสดงและไม่เคยเป็นชื่อบริการ บัญชีแสดงเป็นชื่อเมื่อเครื่องนี้ระบุชื่อได้เอง และแสดงเป็น SID ในกรณีอื่น และประเภทการเริ่มต้นมาเป็นคำที่ Windows เขียน
tool: คำตอบสำเร็จรูปสำหรับปัญหาที่พบบ่อย
เครื่องมือเดียวกับที่หน้าต่างแสดงในแท็บ Tools bws tool แสดงรายการ และ bws tool fix แสดงการแก้ด่วน: printer, sound, indexing และ search แต่ละตัวคือการรีสตาร์ตบริการ Windows หนึ่งตัวพร้อมสิ่งที่ขึ้นอยู่กับมัน เลือกเพราะหน้าแก้ปัญหาของ Microsoft เองแนะนำ bws tool fix printer ก็คือ bws restart Spooler --dependents ทุกประการ แผนเดียวกัน ผลลัพธ์เดียวกัน และรหัสออกเดียวกัน และเหมือนทุกคำสั่งที่นี่ที่เปลี่ยนอะไรสักอย่าง มันไม่ถามก่อน ดังนั้น --dry-run คือทางที่จะดูก่อนรัน
license: อะไรอยู่ในไฟล์ที่คุณดาวน์โหลด
มันไม่อ่านอะไรเลย ไม่อ่านตัวจัดการบริการ ไม่อ่านดิสก์ ไม่อ่านเครือข่าย และตอบจากทะเบียนที่คอมไพล์อยู่ในไฟล์ปฏิบัติการ --components เปลี่ยนประกาศให้เป็นทุกคอมโพเนนต์พร้อมเวอร์ชัน สัญญาอนุญาต และแหล่งที่มา ชุดเดียวกับที่รายการส่วนประกอบซึ่งเผยแพร่ข้างการดาวน์โหลดมี เพราะทั้งสองสร้างจากทะเบียนเดียวกัน และเป็นเหตุผลที่มีมันไว้ดี โปรแกรมเป็นไฟล์ครบในตัวไฟล์เดียว จึงไม่มีอะไรข้างๆ ให้เครื่องสแกนอ่าน
ตัวอย่าง
แผนด้านล่างถูกตรวจด้วย --dry-run กับโปรแกรมที่หน้านี้อธิบาย คำสั่งที่เปลี่ยนอะไรสักอย่างไม่ถามก่อน ดังนั้น --dry-run คือทางที่จะดูก่อนรัน Spooler แทนบริการใดก็ได้ ใส่ชื่อของคุณแทนที่
ค้นหาและอ่าน
bws list ทุกบริการและไดรเวอร์บนเครื่องนี้
bws list --query "start:auto !status:running" อะไรที่ควรทำงานแต่ไม่ได้ทำงาน
bws list --query "status:running" --memory กระบวนการของแต่ละรายการที่กำลังทำงานใช้อะไรอยู่
bws show Spooler ทุกอย่างที่รู้เกี่ยวกับหนึ่งรายการ
bws show Spooler --full รวมถึงฟิลด์ที่ว่างจริงๆ
ดูก่อน แล้วค่อยเปลี่ยน
bws restart Spooler --dry-run แผน และไม่มีอะไรอีก
bws restart Spooler --dependents รีสตาร์ตมันพร้อมสิ่งที่ขึ้นอยู่กับมัน
bws stop Spooler --dependents --timeout 120 ให้เวลาสองนาทีต่อขั้นตอนโดยไม่มีความคืบหน้า
bws start-type WSearch delayed --dry-run เริ่มมันช้ากว่ารายการอัตโนมัติอื่นเล็กน้อย
bws start-type Spooler disabled --stop ปิดใช้งานและหยุดมันในแผนเดียว
บริการที่หยุดไม่ลง
bws kill Spooler --dry-run กระบวนการ และทุกบริการที่อยู่ในนั้น
bws kill Spooler --restart จบกระบวนการเฉพาะเมื่อการหยุดล้มเหลว แล้วนำทุกอย่างกลับมา
bws kill Spooler --force --dry-run หนึ่งขั้นตอนแทนที่จะเป็นสอง: จบกระบวนการทันที
สแนปช็อตและดริฟต์
bws snapshot create before.json --note "before the patch" บันทึกสถานะเครื่อง พร้อมหมายเหตุที่เก็บไว้ข้างใน
bws snapshot diff before.json after.json สองไฟล์ ห่างกันสองวัน หรือสองเครื่อง
bws snapshot diff before.json --live ไฟล์เทียบกับเครื่องนี้ในสภาพตอนนี้
bws snapshot diff before.json --live --exit-code เหมือนกัน แต่จบด้วย 5 เมื่อการกำหนดค่าดริฟต์
ใครเปลี่ยน
bws history ทุกการเปลี่ยนประเภทการเริ่มต้นและการติดตั้งที่ System log เก็บไว้
bws history Spooler การเปลี่ยนประเภทการเริ่มต้นของบริการหนึ่งตัว
bws history --json เหมือนกันแต่เป็นเอกสาร พร้อม log และการเปลี่ยนแปลง
การแก้ด่วน
bws tool เครื่องมือที่มี
bws tool fix การแก้ด่วน และบริการที่อยู่เบื้องหลังแต่ละตัว
bws tool fix sound --dry-run แผนการรีสตาร์ตบริการเสียงสองตัว
bws tool fix printer รีสตาร์ต Print Spooler พร้อมสิ่งที่ขึ้นอยู่กับมัน
อะไรอยู่ในไฟล์
bws license --components ทุกคอมโพเนนต์ เวอร์ชัน สัญญาอนุญาต และแหล่งที่มา
bws --version เวอร์ชันของไฟล์ปฏิบัติการนี้
ในสคริปต์ PowerShell
# รายการที่ควรทำงานแต่ไม่ได้ทำงาน ในรูปแบบอ็อบเจกต์
bws list --query "start:auto !status:running" --json | ConvertFrom-Json | Select-Object serviceName, displayName, status
# ไฟล์ที่ไม่มีลายเซ็น ลงสเปรดชีต
bws list --query "signed:no" --json | ConvertFrom-Json | Select-Object serviceName, binaryPath | Export-Csv unsigned.csv -NoTypeInformation
# สิ่งที่บริการหนึ่งต้องใช้
(bws show Spooler --json | ConvertFrom-Json).dependsOn
# การตรวจตอนกลางคืนที่แตกสาขาตามรหัสออก
bws snapshot diff C:\baselines\web01.json --live --exit-code > $null
switch ($LASTEXITCODE) {
0 { 'no configuration drift' }
5 { 'the configuration drifted' }
default { "no clean answer, exit code $LASTEXITCODE" }
}
ใน cmd และไฟล์แบตช์
rem คำสั่งที่สองเฉพาะเมื่อคำสั่งแรกไม่จบอย่างสะอาด
bws restart Spooler || echo the restart did not end cleanly
rem ในไฟล์แบตช์ที่เปิด delayed expansion ไว้ ! ต้องมี caret
bws list --query "start:auto ^!status:running"
ตัวเลือก
18 ตัว คอลัมน์ที่สามคือคำสั่งที่แต่ละตัวเป็นของ ตัวเลือกที่ส่งให้คำสั่งที่ไม่ได้ใช้มันคือข้อผิดพลาดที่มีรายการนั้นอยู่ข้างใน แทนที่จะเป็นแฟล็กที่ถูกเมินเงียบๆ
| ตัวเลือก | ทำอะไร | ใช้ได้ที่ไหน |
|---|---|---|
--query | จำกัดรายชื่อให้แคบลงด้วยภาษาคิวรี | list |
--signatures | อ่านว่าใครลงลายเซ็นไฟล์ปฏิบัติการแต่ละไฟล์และ Windows เชื่อถือหรือไม่ ใช้เวลาหลายวินาทีทั้งเครื่อง จึงปิดไว้เว้นแต่จะขอ และคิวรีเกี่ยวกับลายเซ็นจะเปิดมันเอง | list |
--memory | อ่านว่ากระบวนการของแต่ละรายการที่กำลังทำงานใช้อะไรอยู่ ปิดไว้เป็นค่าเริ่มต้นเพราะเป็นการวัดไม่ใช่การตั้งค่า อีกวินาทีเดียวก็ต่างไปแล้ว | list |
--required-by | อ่านว่ารายการไหนจะเสียหายถ้าหยุดรายการหนึ่ง ถาม Windows โดยตรงแทนการสรุปจากสิ่งที่ทุกอย่างประกาศไว้ ต้องเรียกหนึ่งครั้งต่อรายการ จึงปิดไว้เว้นแต่จะขอ show และ snapshot create อ่านมันทุกครั้ง | list |
--follow-network | ให้เครื่องมือเอื้อมออกนอกเครื่องนี้ได้เลย พาธการเปิดใช้งานที่อยู่บนโฟลเดอร์แชร์ของคนอื่น และใบรับรองที่เครื่องนี้ยังไม่มี ปิดไว้เป็นค่าเริ่มต้นเพื่อความปลอดภัย โฟลเดอร์แชร์ที่เข้าไม่ถึงหนึ่งแห่งใช้เวลา 21 วินาทีและยืนยันตัวตนเป็นคนที่รัน และการดึงใบรับรองคือการเชื่อมต่อกับบุคคลที่สามกลางการแสดงรายชื่อปกติ ถ้าไม่มีมัน ลายเซ็นจะถูกตรวจกับสิ่งที่มีอยู่ที่นี่ และผลที่อาจเกิดจากการไม่ได้ดูจะถูกรายงานว่าไม่ได้อ่าน ไม่ใช่เป็นคำตัดสิน | list, show, snapshot create |
--force | บน kill คือจบกระบวนการทันทีโดยไม่ขอดีๆ ตัวอย่างจะแสดงหนึ่งขั้นตอนแทนที่จะเป็นสอง บน snapshot create คือแทนที่สแนปช็อตที่มีอยู่แล้ว ไฟล์ที่ไม่ใช่สแนปช็อตจะไม่ถูกแทนที่เลย | snapshot create, kill |
--restart | บน kill คือนำรายการกลับมาเมื่อกระบวนการหายไปแล้ว พร้อมทุกอย่างที่ใช้กระบวนการร่วมกัน | kill |
--stop | บน start-type และใช้ได้เฉพาะคู่กับ disabled คือหยุดรายการในแผนเดียวกันเมื่อเขียนการตั้งค่าแล้ว ประเภทการเริ่มต้นมีผลกับการบูตครั้งถัดไปและไม่มีผลตอนนี้ ถ้าไม่มีตัวเลือกนี้ รายการที่กำลังทำงานซึ่งตั้งเป็น disabled จะทำงานต่อไป | start-type |
--full | บน show คือพิมพ์ฟิลด์ที่ว่างจริงๆ ด้วย ฟิลด์ที่ไม่มีใครอ่านได้จะถูกพิมพ์เสมอ | show |
--json | เอกสารเดียวกัน ในรูปแบบที่เครื่องอ่านได้ ที่ standard output | list, show, stop, start, restart, start-type, snapshot create, snapshot diff, kill, history, tool fix NAME |
--note | สแนปช็อตนี้สร้างเพื่ออะไร เก็บไว้ภายในไฟล์ | snapshot create |
--exit-code | จบด้วยรหัส 5 เมื่อการกำหนดค่าต่างกัน มีรายการที่ถูกเพิ่มหรือลบ หรือรายการหนึ่งตั้งค่าต่างไป สถานะการทำงานอย่างเดียวไม่นับ ปิดไว้เป็นค่าเริ่มต้น เพื่อให้สคริปต์ที่ต้องการแค่พิมพ์ความแตกต่างไม่สะดุดเพราะพบความแตกต่าง | snapshot diff |
--live | เปรียบเทียบไฟล์กับเครื่องนี้ในสภาพปัจจุบัน แทนที่จะเทียบกับไฟล์ที่สอง | snapshot diff |
--timing | การอ่านแต่ละส่วนใช้เวลานานเท่าไร ที่ standard error | list, show, stop, start, restart, start-type, snapshot create, snapshot diff, kill, history, tool fix NAME |
--dry-run | พิมพ์แผนและไม่เปลี่ยนอะไร เป็นแผนเดียวกับที่การรันจริงทำ ไม่มีเส้นทางโค้ดที่สองสำหรับของจริง | stop, start, restart, start-type, kill, tool fix NAME |
--dependents | ใส่บริการที่จะเสียหายลงในแผนเป็นขั้นตอนของตัวเอง | stop, restart, kill |
--timeout | หนึ่งขั้นตอนอยู่ได้นานเท่าไรโดยไม่มีความคืบหน้าก่อนจะเลิกรอ นับใหม่ทุกครั้งที่บริการรายงานความคืบหน้า 60 วินาทีถ้าคุณไม่ระบุ บริการที่รายงานความคืบหน้าต่อเนื่องจะถูกเฝ้าดูตราบเท่าที่ต้องใช้ การหมดเวลาคือการสิ้นสุดการเฝ้าดู ไม่ใช่ความล้มเหลว และรายงานจะบอกว่ารายการถูกทิ้งไว้ที่ไหน | stop, start, restart, kill, tool fix NAME |
--components | บน license คือเปลี่ยนประกาศให้เป็นทุกคอมโพเนนต์ในไฟล์ปฏิบัติการนี้พร้อมเวอร์ชัน สัญญาอนุญาต และแหล่งที่มา ชุดเดียวกับที่รายการส่วนประกอบซึ่งเผยแพร่ข้างการดาวน์โหลดมี เพราะทั้งสองสร้างจากทะเบียนเดียวกัน | license |
รหัสออก
6 แบบของการจบ และทุกแบบเป็นสิ่งที่สคริปต์ต้องทำต่างกัน ข้อมูลไปที่ standard output และอย่างอื่นทั้งหมดไปที่ standard error ดังนั้น bws list --json | jq ใช้ได้ และคำเตือนจะไม่ปนเข้ามาใน JSON ของคุณ
ทุกเอกสาร JSON เป็น ASCII ล้วน ตัวอักษรนอกนั้นถูกเขียนเป็นอีสเคปหกตัวอักษรที่ตัวอ่าน JSON ทุกตัวแปลงกลับเป็นตัวอักษร ดังนั้น bws list --json > file.json เป็น UTF-8 ที่ถูกต้อง และ | ConvertFrom-Json อ่านถูกต้องไม่ว่าคอนโซลตั้งโค้ดเพจไว้เท่าไร ในข้อความที่คนอ่าน ตัวอักษรที่จะเลื่อนเทอร์มินัลแทนที่จะพิมพ์ เช่น แท็บ การขึ้นบรรทัดใหม่ ลำดับอีสเคป การกลับทิศทาง จะแสดงเป็นโค้ดพอยต์ของมัน <U+001B>
-- จบตัวเลือก ดังนั้นบริการที่ชื่อขึ้นต้นด้วยขีดก็ยังระบุชื่อได้: bws show -- -odd บรรทัดคำสั่งที่เครื่องมือส่งให้คุณเขียนไว้สำหรับ PowerShell ชื่อที่มีช่องว่างอยู่ในเครื่องหมายคำพูดคู่ ซึ่ง cmd อ่านแบบเดียวกัน และชื่อที่ PowerShell จะขยายภายในนั้น เช่น MSSQL$SQLEXPRESS อยู่ในเครื่องหมายคำพูดเดี่ยว
| รหัส | ความหมาย |
|---|---|
0 | เสร็จแล้ว และทุกอย่างไปถึงที่หมาย |
1 | เครื่องมือล้มเหลว ทำสิ่งที่ถูกขอไม่ได้ ด้วยเหตุผลที่เกี่ยวกับตัวเครื่องมือไม่ใช่เกี่ยวกับแผน |
2 | บรรทัดคำสั่งผิด คำสั่งที่พิมพ์ผิดจะได้รับคำแนะนำคำสั่งที่คุณน่าจะหมายถึง |
3 | แผนดี รันแล้ว แต่บางอย่างในนั้นไปไม่ถึงที่หมาย ตัวจัดการปฏิเสธ หรือเซสชันไม่มีสิทธิ์ |
4 | มีคนหยุดการรันด้วยมือ ไม่เป็นศูนย์แม้ทุกขั้นตอนจะไปถึงที่หมายแล้ว เพื่อให้ wrapper ไม่ถือว่าการรันที่ถูกขัดจังหวะเป็นการรันที่สะอาด |
5 | การเปรียบเทียบรันแล้วพบว่าการกำหนดค่าดริฟต์ มีรายการที่ถูกเพิ่มหรือลบ หรือรายการหนึ่งตั้งค่าต่างไป สถานะการทำงานอย่างเดียวไม่ใช่ดริฟต์ เฉพาะเมื่อใช้ --exit-code เพราะดริฟต์คือสิ่งที่เครื่องมือนี้มีไว้หา และการพบมันไม่ใช่ความล้มเหลว |
Ctrl+C มีสามระดับ แต่ละระดับบอกว่าระดับถัดไปมีราคาเท่าไร ระดับแรกหยุดไม่ไปข้างหน้าและยังคงนำสิ่งที่เอาไปกลับคืน ระดับสองปล่อยสิ่งต่างๆ ไว้ตามที่เป็นและยังพิมพ์รายงาน ระดับสามจบกระบวนการ การรันที่หยุดด้วยมือจบด้วย 4 แม้ทุกขั้นตอนจะไปถึงที่หมายแล้ว
การปิดหน้าต่างคอนโซลนับเป็น Ctrl+C ครั้งแรก หลังจากนั้น Windows ให้โปรแกรมห้าวินาที และในช่วงนั้นโปรแกรมนี้หยุดไม่ไปข้างหน้าและนำสิ่งที่มันปิดไปกลับคืน การออกจากระบบและการปิดเครื่องจบมันโดยไม่มีคำเตือนที่มันตอบสนองได้ และเซสชันระยะไกลที่หลุดอาจเป็นเช่นนั้นด้วย
ในงานตามกำหนดเวลา
รูปแบบที่เครื่องมือนี้สร้างมาเพื่อ: บันทึกสถานะเครื่องเมื่อรู้ว่าดี แล้วถามทุกคืนว่ายังดีอยู่ไหม
# วันที่เครื่องเข้าสู่การใช้งาน
bws snapshot create C:\baselines\web01.json --note "after the build"
# ทุกคืน จากงานตามกำหนดเวลา
bws snapshot diff C:\baselines\web01.json --live --exit-code --json > C:\logs\drift.json
# 0 - ไม่มีดริฟต์ของการกำหนดค่า
# 5 - การกำหนดค่าดริฟต์ และ drift.json บอกว่าอะไร
# 3 - รันแล้วแต่อ่านไม่ได้ทั้งหมด คำตอบจึงไม่ครบ
หน้าต่างคืออีกครึ่งของเอนจินเดียวกัน: BetterWindowsServices-win-x64.zip บรรจุมันไว้ และหน้าดาวน์โหลดบอกว่าแต่ละไฟล์บีบอัดคืออะไร
อาร์กิวเมนต์ของหน้าต่าง
BetterWindowsServices.exe รับหนึ่งอาร์กิวเมนต์ที่ตั้งใจให้คนใช้: --catalogue เปิดชีตของนักพัฒนาที่แสดงทุกคอมโพเนนต์ของหน้าต่างในทุกสถานะ และไม่อ่านอะไรจากเครื่องของคุณ อีกอันคือ --carry เป็นวิธีที่หน้าต่างส่งสิ่งที่กำลังแสดงอยู่ให้สำเนาของตัวเองที่รีสตาร์ตเป็นผู้ดูแลระบบ ไม่มีใครพิมพ์มัน และสิ่งใดในนั้นที่หน้าต่างนั้นเขียนไม่ได้จะถูกปฏิเสธ