วิธีอัปเดตซอฟต์แวร์ฟรีโดยอัตโนมัติด้วย Chocolatey

คุณมีแอพในคอมพิวเตอร์ของคุณ เช่นSpotify , Adobe Reader , Chrome , Firefox , 7-Zip , VLC Media Player(VLC Media Player…the list)และรายการทั้งหมดนั้นฟรี เราจะทำอย่างไรถ้าไม่มีฟรีแวร์(freeware) ? กระนั้น แอพเหล่านี้ต้องการการอัปเดตบ่อยครั้งเพื่อแก้ไขข้อผิดพลาดด้านความปลอดภัยและแนะนำคุณสมบัติใหม่และมีประโยชน์ การอัปเดตจะไม่เกิดขึ้นในเวลาที่สะดวก

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

ช็อกโกแลตคืออะไร?

หากคุณยังไม่ได้ทำสิ่งต่างๆ ใน​​command line(Windows command line) , PowerShellหรือLinux command line ของ Windows แนวคิดของChocolateyอาจดูแปลกไปหน่อย Chocolateyเป็นโปรแกรมระดับเครื่องที่ช่วยคุณจัดการ(manage software)ซอฟต์แวร์

ระดับเครื่องหมายความว่าไม่มี อินเทอร์เฟซผู้ใช้(user interface)แบบกราฟิกที่ช่วยให้คุณทำสิ่งต่างๆ ได้ ต้องพิมพ์คำสั่งทั้งหมด อย่า(Don)ปล่อยให้(t let)สิ่งนั้นทำให้คุณตกใจ! หากคุณสามารถเขียนคำได้ คุณก็จะเชี่ยวชาญสิ่งนี้

ฉันจะติดตั้ง Chocolatey ได้อย่างไร

มีสองสิ่งที่Chocolateyต้องการในการทำงาน เมื่อโปรแกรมต้องการโปรแกรมอื่นๆ ของ คุณสมบัติ Windowsเพื่อทำงาน โปรแกรมที่จำเป็นเหล่านั้นจะเรียกว่าการพึ่งพา การพึ่งพาของ Chocolatey(Chocolatey)คุณต้องใช้อย่างน้อย:

หากคุณมีWindows 7หรือใหม่กว่า แสดงว่าคุณมี PowerShell เวอร์ชัน 2(PowerShell version 2)หรือใหม่กว่าอยู่แล้ว หากคุณไม่แน่ใจว่ามี .NET Framework 4อยู่หรือไม่ ก็ไม่ต้องกังวล เมื่อติดตั้งChocolateyหากคุณไม่มี .NET 4 Chocolatey จะติดตั้งให้คุณ

เปิด PowerShell โดยพิมพ์ในช่องค้นหาของStart Menu PowerShell คุณควรเห็นผลลัพธ์ชื่อWindows PowerShell App(Windows PowerShell App)

คลิกขวาที่นั้นและเลือกRun as(Run as Administrator) Administrator การทำเช่นนี้เรียกว่าการเรียกใช้PowerShellในอินสแตนซ์ที่มีการยก(elevated instance)ระดับ มันถูกยกระดับเป็นสิทธิ์ของผู้ดูแลระบบ หน้าต่างPowerShell(PowerShell window)จะเปิดขึ้น

ในหน้าต่าง PowerShell(PowerShell window)ให้พิมพ์หรือคัดลอก(type or copy)และวางคำสั่ง:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))

ส่วนSet-ExecutionPolicy Bypass -Scope Process -Force บอกPowerShellว่าคุณไม่ต้องการบังคับใช้นโยบายการดำเนินการที่จำกัดสำหรับสิ่งต่อไปนี้ โดยค่าเริ่มต้น PowerShell(PowerShell)จะอนุญาตเฉพาะกระบวนการที่ลงนามเท่านั้นที่จะทำงาน เป็นการตั้งค่า ความปลอดภัย(security setting)สูงสุด แต่เราจำเป็นต้องเรียกใช้กระบวนการติดตั้งChocolatey ที่ไม่ได้ลงชื่อ นี้

คำiex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’)) ของคำสั่งบอกให้PowerShellไปที่เว็บไซต์ Chocolatey(Chocolatey website)ดาวน์โหลดการติดตั้ง .ps1 สคริปต์และเรียกใช้ นั่นคือส่วนที่ติดตั้ง Chocolateyจริงๆ

คุณ จะเห็นข้อความจำนวนมากบิน(text fly)ผ่านไป ลอง(Feel)กลับไปอ่านดู จะได้รู้ว่าเกิดอะไรขึ้น ในตอนท้ายแนะนำให้รันคำสั่งchoco /? เพื่อดูรายการฟังก์ชัน นั่นเป็นวิธีที่ดีเพื่อให้แน่ใจว่าการติดตั้งของคุณใช้งานได้ ไปข้างหน้าและเรียกใช้คำสั่งนั้น

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

การติดตั้งซอฟต์แวร์ด้วย Chocolatey

มาดูการติดตั้งซอฟต์แวร์กับ Chocolatey อย่างรวดเร็ว ก่อนที่เราจะทำการอัพเดตซอฟต์แวร์ด้วย

ไปที่หน้าhttps://chocolatey.org/packages เพื่อเรียกดูซอฟต์แวร์ ที่มีให้ผ่านChocolatey คุณจะเห็นว่าพวกเขาเรียกว่าแพ็คเกจ

ค้นหาแพ็คเกจที่คุณต้องการติดตั้ง สำหรับตัวอย่างนี้ เราจะใช้Malwarebytes Anti-Malware (Malwarebytes Anti-Malware)การมี Malwarebytes บนคอมพิวเตอร์ของคุณเป็นเรื่องที่ดีเสมอ

ในอินสแตนซ์ระดับสูงของPowerShellให้ใช้คำสั่งchoco ติดตั้ง(choco install malwarebytes) malwarebytes นั่นแหละ. การติดตั้งจะเริ่มขึ้น จะหยุดด้วยข้อความต่อไปนี้:

หากคุณสบายใจที่จะอนุญาตให้Chocolateyจัดการซอฟต์แวร์ของคุณ เมื่อการติดตั้งนี้เสร็จสิ้น เราควรใช้คุณลักษณะ choco enable -n allowGlobalConfirmation(choco feature enable -n allowGlobalConfirmation)คำสั่ง เพื่อให้เราติดตั้งและอัปเดตได้โดยอัตโนมัติในอนาคต สำหรับตอนนี้ ให้ใช้Aเพื่อทำการติดตั้งให้เสร็จสิ้น

คุณ จะเห็นว่าMalwarebytesกำลังดาวน์โหลดและเริ่มติดตั้ง

ในอีกประมาณหนึ่งนาทีMalwarebytesจะถูกดาวน์โหลดและติดตั้งโดยที่คุณไม่ต้องดำเนินการใดๆ เพิ่มเติม

อัปเดตซอฟต์แวร์ด้วย Chocolatey

ตอนนี้เราได้ติดตั้งซอฟต์แวร์แล้ว เราสามารถลองอัปเดตด้วยChocolatey อีกครั้ง(Again)คุณต้องเปิดPowerShell เป็น (PowerShell)ผู้ดูแล(Administrator)ระบบ จาก นั้นคุณสามารถเรียกใช้คำสั่งchoco upgrade malwarebytes

นั่นจะทำให้Chocolateyออกไปและดูว่ามีการอัปเดตหรือไม่แล้วอัปเดต เราเพิ่งติดตั้ง Malwarebytes ดังนั้นจึงแสดงว่าไม่มีการอัปเดตแพ็คเกจใดเลย ไม่เป็นไร

หากคุณได้ติดตั้งหลายแพ็คเกจด้วยChocolatey คุณสามารถอัปเดตแพ็คเกจทั้งหมดได้ ด้วยคำสั่งบรรทัดเดียว: choco upgrade all -y

มันยากอย่างที่คิด ตอนนี้สิ่งที่เราต้องทำเพื่ออัปเดตซอฟต์แวร์โดยอัตโนมัติด้วยChocolateyคือการทำให้คำสั่งนั้นทำงานตามกำหนดเวลา

อัปเดตซอฟต์แวร์(Update Software)โดยอัตโนมัติด้วยChocolatey

ขั้นตอนต่อไปที่คุณสามารถทำได้โดยใช้ Wither Notepadหรือ PowerShell ISE ( Integrated Scripting Environment ) เราจะทำตัวอย่างนี้โดยใช้Notepadเนื่องจากไม่ใช่ทุก เวอร์ชันของ Windowsที่มีPowerShell ISE

เปิดแผ่นจดบันทึก คัดลอกคำสั่งchoco upgrade all -yลงใน Notepad

บันทึกว่าเป็นสคริปต์ PowerShell(PowerShell script)โดยตั้งชื่อบางอย่างเช่นupgrade -ChocoPackages.ps1 (upgrade-ChocoPackages.ps1)ส่วนขยาย .ps1 จะบอก Windows ว่านี่คือ  สคริปต์PowerShell(PowerShell script)

เปลี่ยนประเภทไฟล์จากText Documents (*.txt)เป็นAll Files (*.*).ถ้าคุณไม่ ทำ Windowsจะทำให้เป็นการอัพเกรด ChocoPackages.ps1.txt(upgrade-ChocoPackages.ps1.txt)และคิดว่ามันเป็นเพียงไฟล์Notepad(Notepad file)

Windows มาพร้อมกับคุณสมบัติที่ยอดเยี่ยมที่เรียกว่าTask Scheduler (Task Scheduler)ผู้ใช้ตามบ้าน(home user)ทั่วไปอาจไม่ทราบเรื่องนี้ แต่Task Schedulerเป็นคุณลักษณะที่ทำให้หลาย ๆ อย่างทำงานเป็นประจำอยู่แล้ว

ในการค้นหาเมนู Start(Start Menu search)บนTask Scheduler คลิก(Click)ที่มันเมื่อมันขึ้นมาเป็นผล

เมื่อTask Schedulerเปิดขึ้น ให้คลิกที่Task Scheduler Libraryที่ด้านซ้ายบนของหน้าต่าง การดำเนินการนี้จะแสดงงานตามกำหนดเวลาทั้งหมดที่ตั้งค่าไว้ในคอมพิวเตอร์ของคุณ

ในช่องActionsที่ด้านขวาบน ให้คลิกCreate Task (Create Task…)Create Basic Task(Create Basic Task isn)ไม่เหมาะกับสถานการณ์นี้ เนื่องจากเราจะใช้คำสั่งอาร์กิวเมนต์ในภายหลัง

ในหน้าต่างที่เปิดขึ้น ใน แท็บ ทั่วไป(General)ให้ตั้งชื่องาน เช่นChoco Upgrade Allแล้วตามด้วยคำอธิบาย(Description )เช่นอัปเดตซอฟต์แวร์ทั้งหมดที่ติดตั้งโดย Chocolatey ( Updates all software installed by Chocolatey)หากบัญชีผู้ใช้(user account) ปัจจุบันของคุณ ไม่ใช่บัญชีผู้ดูแลระบบ(administrator account)บนคอมพิวเตอร์ของคุณ ให้ใช้ปุ่มเปลี่ยนผู้ใช้หรือกลุ่ม(Change User or Group)เพื่อเลือกบัญชีผู้ดูแล(Administrator account)ระบบ

คุณจะต้องทราบรหัสผ่านของบัญชีผู้ดูแลระบบ ด้วย (Administrator account)ตรวจสอบ ให้(Make)แน่ใจว่า ได้ เลือกRun ไม่ว่าผู้ใช้จะเข้าสู่ระบบหรือไม่ (Run whether the user is logged on or not)ซึ่งจะช่วยให้สคริปต์ทำงานแม้ว่าคุณจะไม่ได้ใช้งานคอมพิวเตอร์และจะมีสิทธิ์ทั้งหมดที่จำเป็นในการทำงาน

แท็ บทริกเกอร์(Triggers)เป็นที่ที่คุณบอกงานเมื่อคุณต้องการเรียกใช้ สำหรับสิ่งนี้สัปดาห์ละครั้งควรจะเพียงพอ ในตัวอย่างของเรา กำหนดให้เรียกใช้ทุกวันอาทิตย์(Sunday)เวลา 01:00 น. เลือกเวลาที่คุณไม่น่าจะใช้คอมพิวเตอร์ของคุณเพื่อประสิทธิภาพที่ดีที่สุด

ขอแนะนำให้ตรวจสอบหยุดงานด้วยหากทำงานนานกว่า:(Stop the task if it runs longer than:)และเปลี่ยนระยะเวลาเป็น 2 ชั่วโมง คุณสามารถปรับเปลี่ยนได้ตามที่คุณต้องการ ในการอนุญาตให้ใช้ทริกเกอร์ คุณต้องทำ เครื่องหมายที่ช่อง Enabledที่ด้านล่าง

ไปที่แท็บ การ ดำเนิน การ แล้วเราจะบอกงานว่าต้องการให้ทำอะไร (Actions)การดำเนินการ(Action)จะถูกตั้งค่าเริ่มต้นให้เริ่มโปรแกรม (Start a program)นั่นคือสิ่งที่เราต้องการ ปล่อยมันไปเถอะ ในฟิลด์Program/scriptซึ่งจะทำให้ Windows รู้ว่าคุณกำลังจะเรียกใช้ สคริปต์PowerShell(PowerShell script)

ใน ฟิลด์ เพิ่มอาร์กิวเมนต์(Add arguments)ให้ป้อนอาร์กิวเมนต์ต่อไปนี้

-noprofile - สิ่งนี้จะป้องกันไม่ให้ สคริปต์ โปรไฟล์ PowerShell(PowerShell profile)ทำงานและบอกให้เรียกใช้สคริปต์ที่คุณต้องการ

-ExecutionPolicy Bypass – หากคุณไม่แน่ใจว่ามีการเปิดใช้การเรียกใช้สคริปต์หรือไม่ ควรมีสิ่งนี้ในอาร์กิวเมนต์ จะทำให้แน่ใจว่าสคริปต์ทำงาน

-file -นี่คืออาร์กิวเมนต์ที่บอก Task Scheduler ว่าสิ่งต่อไปนี้คือเส้นทางไปยังไฟล์ที่เราต้องการให้ PowerShellทำงาน ในตัวอย่างของเรา สคริปต์ถูกบันทึกไปที่C:\Scripts\upgrade-ChocoPackages.ps1 ChocoPackages.ps1 บนคอมพิวเตอร์ของคุณอาจแตกต่างกัน ดังนั้นให้ปรับตามนั้น หากพาธไปยังไฟล์ของคุณมีชื่อที่มีช่องว่างอยู่ คุณจะต้องใส่พาธทั้งหมดไว้ในเครื่องหมายคำพูด

อาร์กิวเมนต์แบบเต็มจะมีลักษณะ-noprofile -executionpolicy bypass -file C:\Scripts\upgrade-ChocoPackages.ps1

บน แท็บ เงื่อนไข(Conditions )มีตัวเลือกเพิ่มเติมที่เราสามารถตั้งค่าได้ว่าจะให้สคริปต์ทำงานอย่างไร ดูพวกเขาเพื่อดูว่าคุณต้องการสมัครอันไหน สำหรับตัวอย่างนี้ มีการตั้งค่าให้เริ่มงานเฉพาะเมื่อคอมพิวเตอร์เปิดไฟ AC(Start the task only if the computer is on AC power)และหยุดหากคอมพิวเตอร์สลับไปใช้พลังงานจากแบตเตอรี่(Stop if the computer switches to battery power )เพื่อให้แน่ใจว่าแบตเตอรี่จะไม่หมด

ปลุกคอมพิวเตอร์ให้ทำงานนี้(Wake the computer to run this task)ถูกเลือกเพื่อให้แน่ใจว่างานทำงาน ไม่ว่าคอมพิวเตอร์จะอยู่ในโหมดสลีปหรือไม่

ในแท็บการตั้งค่า ขอแนะนำให้ทำเครื่องหมายที่ช่อง (Settings )Allow task to be run on Demandเพื่อให้เราสามารถทดสอบงานด้วยตนเองเมื่อเราทำเสร็จแล้ว การเลือกเริ่มต้นสำหรับส่วนที่เหลือนั้นใช้ได้

คลิกตกลง(OK)เพื่อสิ้นสุดการสร้างงานที่กำหนดเวลาไว้ หน้าต่างจะปรากฏขึ้นพร้อมชื่อผู้ใช้ที่คุณเลือกกลับมาในแท็บทั่วไป คุณต้องป้อนรหัสผ่านสำหรับ ผู้ใช้ และคลิก(user and click) ตกลง (OK)สิ่งนี้จะบอก Windows ว่าคุณมีสิทธิ์ในการรันงานนี้

ตอนนี้คุณกลับมาที่หน้าต่าง Task Scheduler(Task Scheduler window)หลัก ค้นหางานใหม่ของคุณ คลิกขวาที่งานและเลือก(task and select) เรียกใช้(Run )เพื่อทดสอบ

คุณจะไม่เห็นอะไรที่สำคัญเกิดขึ้น ยกเว้นสถานะของงานจะเปลี่ยนเป็นกำลังทำงาน (Running)ในอีกไม่กี่นาที คุณจะเห็นLast Run Timeเปลี่ยนเป็นการประทับเวลาเมื่อคุณเริ่มทำงาน

หากคุณไม่ได้รับข้อความแสดงข้อผิดพลาด งานก็ควรจะเรียบร้อย ปิดหน้าต่าง Task Scheduler(Task Scheduler window)และไม่ต้องกังวลกับการอัปเดตซอฟต์แวร์ใดๆ ที่คุณติดตั้งด้วยChocolatey ด้วย ตนเองอีกครั้ง

ทุกอย่างเสร็จเรียบร้อย!

อาจดูเหมือนงานหนักในการตั้งค่านี้ พิจารณาสิ่งนี้: คุณใช้เวลาประมาณ 10 ถึง 30 นาทีในการตั้งค่านี้ หากคุณกำลังใช้สิ่งนี้เพื่ออัปเดต 10 โปรแกรม และแต่ละโปรแกรมใช้เวลาประมาณ 6 นาทีในการอัปเดตทุกเดือน แสดงว่าคุณประหยัดเวลาได้ระหว่าง 30 ถึง 50 นาที

คุณอยู่ข้างหน้าในเวลาที่บันทึกไว้ ในช่วงเวลาหนึ่งปี อาจช่วยประหยัดเวลาได้ 6 ถึง 10 ชั่วโมง นั่นไม่รวมเวลาที่บันทึกไว้โดยรู้วิธีใช้Chocolateyเพื่อติดตั้งโปรแกรมในหนึ่งหรือสองนาที แทนที่จะเป็น 10 หรือ 15 นาที



About the author

ฉันเป็นมืออาชีพด้านการรีวิวซอฟต์แวร์ที่มีประสบการณ์มากกว่า 10 ปี ฉันได้เขียนและตรวจสอบซอฟต์แวร์ประเภทต่างๆ มากมาย รวมถึงแต่ไม่จำกัดเพียง Microsoft Office (Office 2007, 2010, 2013), แอป Android และเครือข่ายไร้สาย ทักษะของฉันอยู่ที่การจัดเตรียมการทบทวนโปรแกรม/แอปพลิเคชันโดยละเอียดและมีวัตถุประสงค์เพื่อให้ผู้อื่นใช้เป็นเอกสารอ้างอิงหรือสำหรับงานของตนเอง ฉันยังเป็นผู้เชี่ยวชาญเกี่ยวกับผลิตภัณฑ์ MS office และมีคำแนะนำเกี่ยวกับวิธีการใช้งานอย่างมีประสิทธิภาพและประสิทธิผล



Related posts