Các nhà phát triển đã đưa module PowerShell mới PackageManagement vào Windows 10. PackageManagement (trước đây gọi là OneGet) cho phép cài đặt, quản lý và gỡ cài đặt ứng dụng và chương trình từ kho lưu trữ bên ngoài (hoặc cục bộ), và quản lý danh sách các kho lưu trữ kết nối từ console PoSh. Nói cách khác, bây giờ bạn có thể cài đặt chương trình từ dòng lệnh trong Windows 10/ Windows Server 2016 như họ làm trong Linux bằng lệnh phổ biến apt-get install.
Module PackageManagement
Module PackageManagement đã được tích hợp sẵn trong Windows 10, và nó yêu cầu PowerShell 5. Để PackageManagement hoạt động trên Windows 8.1, bạn phải cài đặt Windows Management Framework 5.0 trước. Microsoft cũng đã phát hành module PackageManagement riêng để hoạt động trong PowerShell v.3 và 4.
Hiển thị danh sách các cmdlet PowerShell có sẵn trong module PackageManagement:
Get-Command -Module PackageManagement
Trong phiên bản hiện tại của module (v 1.0.0.1) các lệnh sau có sẵn:
- Find-Package – tìm kiếm gói (chương trình) trong các kho lưu trữ khả dụng
- Get-Package – hiển thị danh sách các gói đã cài đặt
- Get-PackageProvider – hiển thị danh sách các nhà cung cấp gói có sẵn trên máy tính
- Get-PackageSource – liệt kê các nguồn gói khả dụng
- Install-Package – cài đặt gói (chương trình) trên máy tính
- Register-PackageSource – thêm nguồn gói cho nhà cung cấp
- Save-Package – lưu gói cục bộ mà không cài đặt
- Set-PackageSource – đặt nhà cung cấp làm nguồn gói
- Uninstall-Package – gỡ cài đặt chương trình (gói)
- Unregister-PackageSource – xóa nhà cung cấp khỏi danh sách nguồn gói

Các nhà cung cấp gói (Package Providers)
Các gói được phục vụ bởi nhiều nhà cung cấp khác nhau có thể nhận gói từ các nguồn khác nhau. Để hiển thị danh sách các nhà cung cấp có sẵn, chạy lệnh này:
Find-PackageProvider

Mặc định, có hai nguồn gói đã cài đặt trong hệ thống: nuget.org và PSGallery (kho trực tuyến chính thức của script PowerShell từ MSFT). Trước hết, chúng được thiết kế cho lập trình viên và quản trị viên hệ thống.
Lưu ý. Trong Nano Server, có nhà cung cấp đặc biệt NanoServerPackage sẽ được thảo luận trong bài tiếp theo.
Để truy cập kho phần mềm ứng dụng, hãy kết nối một kho phần mềm phổ biến – Chocolatey chứa hơn 4.500 chương trình khác nhau.
Cài đặt nhà cung cấp mới, Chocolatey:
Install-PackageProvider chocolatey
Xác nhận cài đặt nhà cung cấp bằng cách nhấn Y.

Làm cho Chocolatey trở thành nguồn gói tin cậy để không phải xác nhận cài đặt gói mỗi lần.
Set-PackageSource -Name chocolatey -Trusted
Đảm bảo Chocolatey hiện có sẵn trong các kho ứng dụng:
Get-PackageSource

Name ProviderName IsTrusted Location
---- ------------ --------- --------
PSGallery PowerShellGet False https://www.powershellgallery.com/api/v2/
chocolatey Chocolatey True https://chocolatey.org/api/v2/
Cài đặt ứng dụng từ kho Chocolatey
Hãy xem cách cài đặt một ứng dụng (một gói) từ Chocolatey.
Danh sách các ứng dụng có sẵn có thể lấy trực tiếp từ trang web chính thức Chocolatey (https://chocolatey.org/packages)

Bạn cũng có thể tìm và cài đặt ứng dụng ngay từ console PowerShell. Ví dụ, để xem file PDF, chúng ta phải cài đặt Adobe Acrobat Reader. Vì chúng ta không biết tên đầy đủ của ứng dụng, chúng ta cần lấy tên gói trong thư mục để cài đặt. Tìm kiếm kho bằng từ khóa "adobe":
Find-Package -Name *adobe* -Source Chocolatey
Danh sách tất cả các gói chứa từ khóa này sẽ xuất hiện trong console. Chúng ta cần adobereader (đây là tên gói từ cột Name mà chúng ta cần dùng).
Chạy cài đặt gói Adobe Reader:
Install-Package -Name adobereader -ProviderName Chocolatey

Ở trên cùng cửa sổ PowerShell, một thanh trượt sẽ xuất hiện cho thấy gói Adobe Reader đang được tải xuống. Ngay sau khi tải xong, ứng dụng được cài đặt trên hệ thống.

Ví dụ khác. Giả sử bạn cần bộ công cụ SysInternals. Để không phải tải thủ công, hãy tìm gói SysInternals trong Chocolatey và cài đặt.
Find-Package -Name Sysinternals | Install-Package
Vì gói không cần cài đặt, nó được lưu trên máy tính của bạn và lưu trữ trong C:\Chocolatey\lib\. Trong ví dụ của chúng tôi, đó là C:\Chocolatey\lib\sysinternals.2016.11.18\tools

Bạn có thể cài đặt nhiều ứng dụng cùng lúc bằng một lệnh:
Find-Package -Name firefox, winrar, notepadplusplus, putty, dropbox | Install-Package
Cách gỡ cài đặt gói
Bạn cũng có thể gỡ cài đặt gói chỉ bằng một lệnh. Ví dụ, để gỡ Adobe Reader, chạy lệnh này:
Uninstall-Package adobereader
Vậy, chúng ta đã xem xét cách mới để cài đặt ứng dụng Windows từ dòng lệnh PowerShell. Trong tương lai gần, các add-in đồ họa cho PackageManagement có thể xuất hiện, cho phép người dùng phổ biến không có kỹ năng CLI dễ dàng quản lý cài đặt/gỡ cài đặt phần mềm.