ถ้าต้องลงโปรแกรมเหมือน ๆ กันหลาย ๆ เครื่อง หรือตามไปอัพเดทโปรแกรมทุกเครื่องให้เป็นตัวล่าสุด จะดีมั๋ยถ้าจะลดเวลาที่ต้องใช้ลงไป ใช้สคริปท์ง่าย ๆ หมือนฝั่่ง 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
ตัวสคริปต์ที่มันใช้เป็นไฟล์ง่าย ๆ อย่างที่ผมใช้คือ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <? 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 ไปอีกไฟล์ แล้วเพิ่มลดรายชื่อโปรแกรมเอา