ถ้าต้องลงโปรแกรมเหมือน ๆ กันหลาย ๆ เครื่อง หรือตามไปอัพเดทโปรแกรมทุกเครื่องให้เป็นตัวล่าสุด จะดีมั๋ยถ้าจะลดเวลาที่ต้องใช้ลงไป ใช้สคริปท์ง่าย ๆ หมือนฝั่่ง Linux ที่ใช้ไฟล์เดียวก็ลงโปรแกรมที่ต้องใช้ได้ครบ
ก่อนอื่นโปรแกรมตัวนี้ชื่อ Chocolatey ไม่ต้องไปดาวน์โหลดมาก่อน วิธีติดตั้งมีทั้งแบบใช้คนเดียวและแบบองค์กรขนาดใหญ่ เพื่ออธิบายง่าย ๆ และที่ใช้ตอนนี้ไม่ได้มีเครื่องที่ต้องลงโปรแกรมมาก ขอใช้แบบลงส่วนตัวละกัน
- เปิด PowerShell ขึ้นมาโดนสิทธิ administrator copy
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(‘https://community.chocolatey.org/install.ps1’))
ไปวางแล้ว enter ก็ลงโปรแกรมติดตั้งเสร็จแล้ว - ต่อไปคือสร้างลิสต์โปรแกรมที่จะติดตั้งลงเครื่องอื่น ๆ ขึ้นมาเพื่อความสะดวกจะติดตัว Chocolatey Gui ( ทำแค่เครื่องของเราเครื่องเดียวก็พอ ) พิมพ์ choco install chocolateygui ใน PowerShell แลัว enter
- เปิดโปรแกรม Chocolatey GUI จากเมนูของ windows โดยสิทธิ administrator จะเห็นว่าซ้ายมือจะมีอยู่ 2 เมนูคือ
- This PC คือรายชื่อโปรแกรมที่ติดตั้งในเครื่องเรา
- chocolatey จะเป็นหน้าที่ไว้ค้นหาโปรแกรมที่จะติดตั้ง ต้องการจะติดตั้งโปรแกรมอะไรก็ค้นหาเอาจากหน้านี้ คลิกขวา install มันจะดาวน์โหลดโปรแกรมและติดตั้งให้เอง
- เมื่อลง program ที่ต้องการครบแล้วไปที่ This PC มุมขวาบนจะมีปุ่ม Export ให้เซฟไฟล์ไว้ใน flash drive จะเป็นไฟล์ Chocolatey.config
- เปิดโปรแกรม Chocolatey GUI จากเมนูของ windows โดยสิทธิ administrator จะเห็นว่าซ้ายมือจะมีอยู่ 2 เมนูคือ
- ไปที่เครื่องที่จะติดตั้งโปรแกรมเพิ่มเปิด PowerShell ขึ้นมาโดนสิทธิ administrator และลง Chocolatey เหมือนขั้นตอนที่ 1
- ติดตั้งโปรแกรมในลิสต์โดยใช้ choco install <path-to-exported-file> เช่น choco install “E:\Chocolatey.config” โปรแกรมจะถูกติดตั้งเพิ่มตามที่มีอยู่ในลิสต์ที่ได้ทำไว้
- เวลาผ่านไปโปรแกรมที่ลงไว้เริ่มเก่าแล้วก็สั่งอัพเดทโดยใช้
choco upgrade all -y
ถ้าจะ upgrade บางโปรแกรมหรือจะยกเว้นบางโปรแกรมก็ทำตามคู่มือ https://docs.chocolatey.org/en-us/choco/commands/upgrade
ถ้าไม่เข้าใจลองดูวิธีได้จากคู่มือ https://docs.chocolatey.org/en-us/chocolatey-gui/user-interface/main-window/actions/export
ตัวสคริปต์ที่มันใช้เป็นไฟล์ง่าย ๆ อย่างที่ผมใช้คือ
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="avastfreeantivirus" version="21.6.6446.0" />
<package id="chocolatey-core.extension" version="1.3.5.1" />
<package id="chocolatey-dotnetfx.extension" version="1.0.1" />
<package id="chocolatey-visualstudio.extension" version="1.9.0" />
<package id="chocolatey-windowsupdate.extension" version="1.0.4" />
<package id="chocolatey" version="0.10.15" />
<package id="chocolateygui" version="0.18.1" />
<package id="dotnetfx" version="4.8.0.20190930" />
<package id="filezilla" version="3.55.1" />
<package id="Firefox" version="91.0" />
<package id="gimp" version="2.10.24.3" />
<package id="GoogleChrome" version="92.0.4515.131" />
<package id="googledrive" version="2.34.5075.1619" />
<package id="greenshot" version="1.2.10.6" />
<package id="keepass.install" version="2.48.1" />
<package id="microsoft-teams" version="1.4.00.19572" />
<package id="microsoft-windows-terminal" version="1.9.1942.0" />
<package id="notepadplusplus.install" version="8.1.2" />
<package id="postman" version="8.9.1" />
<package id="sourcetree" version="3.4.1" />
<package id="visualstudio-installer" version="2.0.1" />
<package id="vlc" version="3.0.16" />
<package id="winmerge" version="2.16.12" />
</packages>
จะลองแก้เองเพื่อที่จะใช้กับ user หลาย ๆ กลุ่มก็ได้ครับ กลุ่มนี้เพิ่มบรรทัดนี้ อีกกลุ่มลงอีกโปรแกรมก็แค่ copy ไปอีกไฟล์ แล้วเพิ่มลดรายชื่อโปรแกรมเอา