Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows Server

การใช้งาน PowerShell PackageManagement ใน Windows 10

บทนำ

นักพัฒนาได้รวม PowerShell Module ใหม่ชื่อ PackageManagement เข้าไปใน Windows 10 PackageManagement (ชื่อเดิม OneGet) ช่วยให้สามารถติดตั้ง จัดการ และถอนการติดตั้ง Applications และ Programs จาก Repository ภายนอก (หรือ Local) และจัดการรายการ Repository ที่เชื่อมต่อจาก PoSh Console ได้ กล่าวคือ ตอนนี้สามารถติดตั้งโปรแกรมจาก Command Prompt ใน Windows 10/Windows Server 2016 ได้เหมือน Linux ที่ใช้คำสั่ง apt-get install

Module PackageManagement ทำให้การติดตั้งซอฟต์แวร์ใหม่ง่ายขึ้น การติดตั้งสรุปได้เป็นการรันคำสั่ง PowerShell เพียงคำสั่งเดียว User ไม่ต้องค้นหาและดาวน์โหลด Software Distributions จาก Web เอง จึงลดความเสี่ยงในการดาวน์โหลดโปรแกรมที่ล้าสมัยหรือติดไวรัส ซอฟต์แวร์ติดตั้งจาก Trusted Source เมื่อซอฟต์แวร์ถูกอัปเดตใน Repository จะสามารถอัปเดตอัตโนมัติบน Client ได้

PackageManagement Module

PackageManagement Module ผสานรวมอยู่ใน Windows 10 แล้ว และต้องการ PowerShell 5 เพื่อให้ทำงานบน Windows 8.1 ต้องติดตั้ง Windows Management Framework 5.0 ก่อน Microsoft ยังออก PackageManagement Module แยกสำหรับ PowerShell v.3 และ 4

แสดงรายการ Cmdlets ที่มีใน Module:

Get-Command -Module PackageManagement

ใน Version ปัจจุบัน (v 1.0.0.1) มีคำสั่งดังต่อไปนี้:

  • Find-Package – ค้นหา Package (โปรแกรม) ใน Repository ที่มีอยู่
  • Get-Package – แสดงรายการ Packages ที่ติดตั้งแล้ว
  • Get-PackageProvider – แสดงรายการ Package Providers ที่มีบนคอมพิวเตอร์
  • Get-PackageSource – แสดงรายการ Package Sources ที่มีอยู่
  • Install-Package – ติดตั้ง Package (โปรแกรม) บนคอมพิวเตอร์
  • Register-PackageSource – เพิ่ม Package Source สำหรับ Provider
  • Save-Package – บันทึก Package ไว้ใน Local โดยไม่ติดตั้ง
  • Set-PackageSource – ตั้งค่า Provider เป็น Package Source
  • Uninstall-Package – ถอนการติดตั้ง Program (Package)
  • Unregister-PackageSource – ลบ Provider ออกจากรายการ Package Sources

Package Providers

Packages ได้รับบริการจาก Providers ต่างๆ ที่สามารถรับ Packages จาก Sources ต่างๆ แสดงรายการ Providers ที่มีอยู่:

Find-PackageProvider

โดย Default มี Package Sources ติดตั้งอยู่ 2 ตัว: nuget.org และ PSGallery (Official Online Gallery ของ PowerShell Scripts จาก MSFT) ออกแบบมาสำหรับ Programmers และ System Admins

หมายเหตุ: ใน Nano Server มี Provider 特別 คือ NanoServerPackage จะอธิบายในบทความถัดไป

เพื่อเข้าถึง Application Software Repository ให้เชื่อม Repository ยอดนิยม – Chocolatey ซึ่งมีโปรแกรมมากกว่า 4,500 ตัว

ติดตั้ง Provider Chocolatey

Install-PackageProvider chocolatey

ยืนยันการติดตั้ง Provider โดยกด Y

ทำให้ Chocolatey เป็น Trusted Package Source เพื่อไม่ต้องยืนยันการติดตั้ง Package ทุกครั้ง:

Set-PackageSource -Name chocolatey -Trusted

ตรวจสอบว่า Chocolatey พร้อมใช้งานใน Application Repositories:

Get-PackageSource
Name          ProviderName    IsTrusted    Location
----          ------------    ---------    --------
PSGallery     PowerShellGet   False        https://www.powershellgallery.com/api/v2/
chocolatey    Chocolatey      True         https://chocolatey.org/api/v2/

การติดตั้ง Applications จาก Chocolatey Repository

รายการ Applications ที่มีอยู่สามารถดูได้จากเว็บ Chocolatey อย่างเป็นทางการ (https://chocolatey.org/packages)

สามารถค้นหาและติดตั้ง Apps ได้จาก PowerShell Console โดยตรง ตัวอย่าง: ต้องการดู PDF ต้องติดตั้ง Adobe Acrobat Reader เนื่องจากไม่รู้ชื่อเต็ม จึงค้นหาชื่อ Package ใน Directory ก่อน ค้นหาด้วย Keyword "adobe":

Find-Package -Name *adobe* -Source Chocolatey

จะปรากฏรายการ Packages ที่มี Keyword นี้ ต้องการ adobereader (ชื่อ Package จาก Column Name ที่ต้องใช้)

รันการติดตั้ง Adobe Reader Package:

Install-Package -Name adobereader -ProviderName Chocolatey

บนหน้าต่าง PowerShell จะมี Slider แสดงการดาวน์โหลด หลังดาวน์โหลดเสร็จ จะติดตั้งบนระบบทันที

ตัวอย่างเพิ่มเติม: SysInternals Tools

Find-Package -Name Sysinternals | Install-Package

เนื่องจาก Package นี้ไม่ต้อง Install จึงถูกบันทึกไว้บนคอมพิวเตอร์ที่ C:\Chocolatey\lib\ (ตัวอย่าง: C:\Chocolatey\lib\sysinternals.2016.11.18\tools)

ติดตั้งหลาย Applications พร้อมกันได้ด้วยคำสั่งเดียว:

Find-Package -Name firefox, winrar, notepadplusplus, putty, dropbox | Install-Package

วิธีถอนการติดตั้ง Package

ถอนการติดตั้ง Package ได้ด้วยคำสั่งเดียว ตัวอย่าง ถอน Adobe Reader:

Uninstall-Package adobereader

สรุป

เราได้พิจารณาวิธีใหม่ในการติดตั้ง Windows Applications จาก PowerShell Command Prompt ในอนาคตอาจมี Graphical Add-ins สำหรับ PackageManagement ที่ช่วยให้ User ทั่วไปจัดการ Install/Uninstall ซอฟต์แวร์ได้ง่ายโดยไม่ต้องมีทักษะ CLI