สวัสดีครับเพื่อนๆ
จากบทความที่แล้ว เป็นบทความเกี่ยวกับ วิธีการ Deploy Software (.msi) โดยใช้ Group Policy Object (GPO) โดยสามารถอ่านได้ ตามลิงค์นี้ได้เลยครับ https://www.ablenet.co.th/2024/07/25/how-to-deploy-msi-files-via-gpo/
มาในบทความนี้ จะเป็นการ Deploy Software (.exe) โดยใช้ GPO เช่นเดียวกันครับ เพียงแต่ท่าที่ Config อาจแตกต่างเล็กน้อย และมีการเขียน powershell script เพื่อใช้ในการ Deploy Software โดยเพื่อนๆ สามารถทำตามได้ เป็น Step by Step ได้เลยครับ
โดย Lab จะมี Diagram ดังรูปครับ
Pre-requisite (สิ่งที่ต้องเตรียม)
1.) Windows server ที่ Promote AD แล้ว
2.) Windows 10/11 ที่ Join AD แล้ว
3.) สร้าง OU (ทำตามได้ในข้อ 1.1 ในบทความนี้ครับ)
4.) UNC Share Folder (ทำตามได้ในข้อ 1.2 ในบทความนี้ครับ)
5.) ไฟล์โปรแกรม .exe ที่ต้องการจะติดตั้ง
โดย Step จะแบ่งไว้ ดังนี้ครับ
1.) โยนไฟล์ .exe ไปไว้ใน UNC Folder
2.) สร้าง Power Shell Script สำหรับใช้ในการ Install Software
3.) สร้าง GPO เพื่อใช้ในการ Deploy Software
4.) ตรวจสอบว่า Software Deployed เรียบร้อยแล้ว
1.) โยนไฟล์ .exe ไปไว้ใน UNC Folder
Log-on เข้าใช้งาน Windows server และนำไฟล์ .exe ไปวางใน UNC Folder โดยจากใน LAB จะอยู่ที่
C:\SoftwareDeployment\
เช็คว่า เครื่อง Client สามารถเข้าถึง Folder นี้ได้ โดยเข้าไปที่ Client แล้ว Browse ไปที่
\\ADDS01\SoftwareDeployment$
จะเห็นว่า สามารถ Browse ได้ และเจอไฟล์ที่ต้องการจะ Install
2.) สร้าง Power Shell Script สำหรับใช้ในการ Install Software
สำหรับใน LAB นี้ จะ Install เป็นโปรแกรม Foxit Reader ครับ โดยจะใช้ PowerShell Script ตามนี้เลยครับ
$folder = ‘C:\Program Files (x86)\Foxit Software\Foxit PDF Reader’if (-not (Test-Path -Path $folder)) {Start-Process -FilePath “\\ADDS01\SoftwareDeployment$\FoxitPDFReader202423_enu_Setup_Prom.exe” -ArgumentList ‘/silent’$report = ‘\\ADDS01\SoftwareDeployment$\report.txt’Add-Content -Path $report -Value “$(hostname) `t`t$(Get-Date)”}else {}
3.) สร้าง GPO เพื่อใช้ในการ Deploy Software
Computer Configuration –> Policies –> Windows Settings –> Scripts (Startup/Shutdown) –> Logon
4.) ตรวจสอบว่า Software Deployed เรียบร้อยแล้ว
ให้ทำการ Restart เครื่อง Client ที่เราต้องการจะ Deploy Software ที่อยู่ใน OU ที่เราแปะ GPO ลงไป
จะเห็นว่า Foxit Reader มีการ Install ลงไปในเครื่อง Client เรียบร้อย
และจาก PS Script จะเห็นว่า มีการให้เขียน hostname ของเครื่อง และเวลาที่ Install Software ลงไปในไฟล์ report.txt ซึ่งจะเห็นว่า Script ได้ Run สำเร็จแล้ว
Remark
1.) UNC Folder ต้องเปิด Permission ให้เครื่องที่เข้าถึงได้ สามารถ Write ได้ เพื่อจะ Write Logs ลงไป
2.) ตัวแปร $folder สามารถหาได้โดย install software ลงไปก่อน และดูการเปลี่ยนแปลง ว่ามี Folder ไหน ที่เกี่ยวข้องกับ Software นั้นๆบ้าง
3.) Arguement ที่ใช้ในการทำ Silent Install สามารถหาได้จาก website ผู้ผลิต Software นะครับ
4.) ถ้าใช้ท่านี้ ในการ Deploy Software สำหรับ Users , User นั้น ต้องมี role เป็น admin เพราะจะติด UAC ครับผม
จบไปแล้วครับเพื่อนๆ สำหรับบทความ วิธีการ Deploy Software (.exe) โดยใช้ Group Policy Object (GPO) หวังว่าบทความนี้ จะเป็นประโยชน์แก่เพื่อนๆที่สนใจ และสามารถนำไปประยุกต์ เพื่อให้งานสำเร็จได้นะครับ
ขอบคุณครับผม
Ref. for trobleshooting:
https://medium.com/@bonguides25/how-to-deploy-an-exe-file-using-group-policy-5606107ee644
https://activedirectorypro.com/deploy-software-exe-using-group-policy-part-2/