Trích xuất danh sách các phần mềm trên Windows 10 bằng PowerShell

Bạn có thể trích xuất danh sách tất cả các phần mềm được cài đặt trên máy tính của bạn chỉ với một đoạn mã PowerShell.

PowerShell

Khi bạn quyết định cài đặt lại hệ điều hành (OS) mới hoàn toàn trên hệ thống của bạn, trích xuất danh sách tất cả các phần mềm bạn đã cài đặt trên máy là một ý tưởng rất hay. Danh sách này sẽ đảm bảo bạn không quên các phần mềm cần thiết sau khi cài mới lại Windows.

Chỉ có một vấn đề là chúng ta cài rất nhiều ứng dụng. Việc liệt kê tất cả chúng ra một danh sách không phải dễ dàng, nhất là khi Windows không có sẵn tính năng hỗ trợ cho việc này.

Thêm vào đó, nếu bạn định cài mới OS trên PC của ai đó, hoặc trên nhiều PC, công việc này lại càng khó khăn hơn.

Mặc dù vậy, theo AdictiveTips, bạn có thể sử dụng một đoạn mã (script) PowerShell để trích xuất danh sách tất cả các ứng dụng đã được cài đặt trên một máy tính cục bộ (local computer), hoặc từ xa (remote computer). Sau đây là cách thực hiện.

Trước hết, bạn tải về file Get a List of Installed Application from computers (PowerShell) tại đây. Sau khi tải về, bạn đổi tên file này thành tên bất kỳ miễn sao không còn từ PowerShell trong tên của nó, cũng như tên của thư mục chứa nó.

Đoạn script này là một file PSM1. Nó là một mô-đun PowerShell và bạn cần nhập (import) nó vào PowerShell trước khi có thể sử dụng.

Nhập mô-đun vào PowerShell

Mở PowerShell với quyền quản trị (Admin). Gõ dòng lệnh sau kèm theo đường dẫn đến file PSM1 ở trên.

import-module “đường-dẫn-đến-file-PSM1”

Câu lệnh hoàn chỉnh sẽ giống thế này:

import-module C:\Users\anle\Downloads\GetInstalledApplicationInfo\GetInstalledApplicationInfo.psm1

PowerShell

Nếu bạn không thể nhập script vào PowerShell và nhận được thông báo lỗi các đoạn script đã bị khoá bởi Chính sách Thực thi (Execution Policy), bạn sẽ phải dừng lại và thay đổi Chính sách Thực thi PowerShell (PowerShell Execution Policy) trước khi có thể nhập mô-đun vào PowerShell.

PowerShell

Đăng nhập vào tài khoản Administrator và mở PowerShell với quyền quản trị (Admin).

Chạy dòng lệnh: Set-ExecutionPolicy

PowerShell sẽ yêu cầu bạn nhập tham số. Tham số này cho PowerShell biết bạn cần thiết lập quyền gì cho các đoạn script.

PowerShell

Có 4 tham số quyền bạn có thể thiết lập:

Restricted: Không cho phép thực thi các đoạn script. Bạn chỉ có thể sử dụng Windows PowerShell ở chế độ tương tác.

AllSigned: Chỉ cho phép thực thi những đoạn script được phát hành bởi các nhà phát hành tin cậy (trusted publisher).

RemoteSigned: Các đoạn scritp được tải về phải được đăng ký bởi một nhà phát hành tin cậy trước khi chúng được phép thực thi.

Unrestricted: Cho phép thực thi tất cả các script PowerShell.

PowerShell

Bạn hãy nhập tham số tương ứng với quyền bạn muốn thiết lập và nhấn phím Enter.

Bạn sẽ được yêu cầu xác nhận các thay đổi, hãy nhập ký tự tương ứng để xác nhận thay đổi và nhấn phím Enter.

PowerShell

Thay đổi này sẽ có hiệu lực ngay tức thì. Bạn không cần khởi động lại hệ thống hoặc PowerShell. Bây giờ, bạn đã có thể quay lại tài khoản của mình và nhập script vào PowerShell.

Trích xuất danh sách các ứng dụng đã cài đặt

Mở file PSM1 bằng Notepad. Nó sẽ hiển thị cho bạn tất cả các chức năng của đoạn script bạn vừa thêm vào PowerShell. Trong trường hợp này, nó bổ sung chức năng bên dưới, cho phép bạn trích xuất danh sách các ứng dụng được cài đặt trên một hệ thống cục bộ hoặc từ xa.

Get-OSCInstalledApplication

PowerShell

Từ PowerShell, bạn chạy dòng lệnh bên trên. Nó sẽ yêu cầu bạn nhập tên của máy tính bạn muốn lấy danh sách ứng dụng. Bạn có thể nhập tên máy tính của mình và trích danh sách phần mềm trên nó, hoặc nhập tên của một máy tính mạng. Đoạn mã này cho phép bạn nhập nhiều tên máy tính và lấy danh sách ứng dụng của tất cả chúng.

PowerShell

Đoạn script này cũng có thể lưu danh sách các ứng dụng ra file CSV. Bạn hãy sử dụng dòng lệnh sau để lưu một danh sách ra file CSV. Bạn có thể đặt tên bất kỳ cho file CSV và lưu nó ở bất kỳ nơi đâu bạn muốn.

Get-OSCInstalledApplication -ComputerName “Tên-máy-tính” | Export-Csv -Path F:\installedApps.csv

PowerShell

Cuối cùng, nếu bạn đang làm việc với nhiều máy tính, bạn có thể nhập tên của chúng từ file CSV sử dụng dòng lệnh sau:

Get-OSCInstalledApplication –ComputerFilePath C:\Script\ComputerList.csv