Chuyển đổi CSV sang HTML PowerShell
PowerShell là một công cụ mạnh mẽ giúp bạn đơn giản hóa và tự động hóa các tác vụ tẻ nhạt và lặp đi lặp lại. Quản trị viên thường sử dụng PowerShell để trích xuất thông tin từ hệ thống hoặc cơ sở dữ liệu khi tập dữ liệu được yêu cầu phải được trình bày dưới dạng báo cáo. Tuy nhiên, các báo cáo ở dạng văn bản hoặc tệp CSV thường thiếu kiểu dáng đẹp mắt và nổi bật của HTML. Trong hướng dẫn này, bạn sẽ tìm hiểu cách tạo Báo cáo HTML nn bằng PowerShell, Show
PowerShell có thể giúp bạn tạo báo cáo HTML và tránh xa các định dạng nhạt nhẽo khác này. Chỉ sử dụng PowerShell, bạn có thể làm cho báo cáo trở nên sống động với HTML cho phép bạn tạo một bản trình bày có ý nghĩa về dữ liệu thô được trích xuất từ hệ thống. Bạn thậm chí có thể áp dụng Cascading Style Sheets (CSS) để dễ dàng tùy chỉnh bố cục báo cáo của mình Trong bài viết này, bạn sẽ học cách sử dụng lệnh ghép ngắn 6 kết hợp với lệnh ghép ngắn 7 để tạo báo cáo HTML. Bạn cũng sẽ học tập lệnh cơ bản cho CSS và cách nó có thể hữu ích trong việc định dạng thiết kế báo cáo dựa trên HTML của bạnMục lục điều kiện tiên quyếtBài viết này sẽ là một hướng dẫn. Nếu bạn có ý định làm theo, hãy đảm bảo rằng bạn đã thiết lập trước các điều kiện tiên quyết sau
Tạo Báo cáo thông tin máy tính cơ bản bằng cách sử dụng Get-CimInstance -Class Win32_OperatingSystem | Select-object Version,Caption,BuildNumber,Manufacturer | ConvertTo-Html8Để trình bày cách sử dụng lệnh ghép ngắn 8 và các tham số của nó, bạn sẽ tạo một tập lệnh lấy thông tin cơ bản của máy (chẳng hạn như Hệ điều hành, Bộ xử lý, BIOS và dung lượng đĩa khả dụng) và tạo thông tin thành báo cáo HTMLBạn bắt đầu với một lệnh thu thập thông tin về phiên bản hệ điều hành từ một máy. Mở bảng điều khiển PowerShell của bạn, sau đó sao chép và dán lệnh bên dưới rồi nhấn enter để chạy lệnh
Khi chạy lệnh trên, lệnh ghép ngắn 0 sẽ thu thập các thuộc tính của lớp 1 chứa thông tin về hệ điều hành của máy, lệnh sẽ trả về nhiều kết quả, do đó cần lọc để chỉ lấy các thông tin liên quan. Kết quả sẽ trông giống như ảnh chụp màn hình hiển thị bên dướiThông tin hệ điều hành của máyBây giờ bạn đã có lệnh trả về thông tin hệ điều hành, hãy chuyển đổi kết quả thành mã HTML. Để chuyển đổi kết quả (đối tượng) từ lệnh trên trong mã HTML, bạn có thể chuyển đầu ra của lệnh ghép ngắn 0 thành 8. Chạy lệnh bên dưới trong bảng điều khiển PowerShell của bạn
Bạn có thể thấy trong ảnh chụp màn hình bên dưới rằng PowerShell tự động tạo các thẻ HTML từ đầu ra của lệnh ghép ngắn 0. Kết quả được hiển thị ở định dạng bảng, trong đó tiêu đề bảng hiển thị các tên thuộc tính như Phiên bản, Chú thích, Số bản dựng và Nhà sản xuất. Mỗi hàng của bảng đại diện cho một đối tượng và hiển thị các giá trị của đối tượng cho từng thuộc tínhMã HTML được tạoXuất báo cáo thành tệp HTMLBây giờ bạn đã có kết quả và được chuyển đổi thành mã HTML, hãy xuất báo cáo sang tệp HTML bằng cách sử dụng lệnh ghép ngắn 5 và xem báo cáo trong trình duyệt web. Dẫn đầu ra của lệnh ghép ngắn 8 và chỉ định đường dẫn mà bạn muốn lưu báo cáo bằng cách sử dụng tham số 7 và sử dụng Basic-Computer-Information-Report. html làm tên của tệpMở PowerShell ISE của bạn hoặc bất kỳ trình soạn thảo văn bản nào, sao chép mã bên dưới và lưu tập lệnh với tên tệp Generate-HTML-Report. Ps1
Chạy Tạo-HTML-Báo cáo. Tập lệnh Ps1 trong Bảng điều khiển PowerShell của bạn 5Sau khi chạy tập lệnh, hãy mở Basic-Computer-Information-Report. tệp html trong trình duyệt web. Trình duyệt web diễn giải mã của báo cáo HTML và hiển thị dữ liệu trên màn hình trình duyệt. Báo cáo phải chứa thông tin về hệ điều hành của máy tương tự như ảnh chụp màn hình bên dưới Báo cáo HTML được xem trong trình duyệt webKết hợp Báo cáo Sử dụng Thông số Get-CimInstance -Class Win32_OperatingSystem | Select-object Version,Caption,BuildNumber,Manufacturer | ConvertTo-Html | Out-File -FilePath .\Basic-Computer-Information-Report.html8Lúc này, bạn đã có một đoạn script lấy thông tin về hệ điều hành của máy và xuất kết quả sang báo cáo HTML. Mục tiêu của bạn là thêm nhiều lệnh hơn trong tập lệnh để lấy thông tin còn lại của máy tính như Bộ xử lý, BIOS, Đĩa và Dịch vụ Mỗi lệnh sẽ trả về thông tin máy tính khác nhau được định dạng là mã HTML. Để hợp nhất đúng thông tin trong một báo cáo HTML, hãy sử dụng tham số 8 để chỉ lấy phần bảng của mã HTML được tạo bởi lệnh ghép ngắn 8Như bạn có thể thấy trong ảnh chụp màn hình bên dưới, PowerShell tạo tất cả các phần tử HTML cơ bản khi đầu ra được dẫn tới lệnh ghép ngắn 8Danh sách mã HTML được tạo bằng cách sử dụng lệnh ghép ngắn 8Khi bạn sử dụng tham số 8, PowerShell chỉ tạo phần tử bảng HTML. Các phần tử ________ 154, ________ 155, ________ 156, ________ 157 và các phần tử khác được lược bỏ. Kết quả sẽ được hiển thị dưới đâyDanh sách mã HTML cho bảng sử dụng tham số FragmentBây giờ bạn đã biết cách tham số 8 hoạt động từ ví dụ trên, hãy áp dụng điều đó trong tập lệnhCác lệnh trong tập lệnh bên dưới thực hiện như sau
Thông tin bổ sung về tập lệnh có sẵn trong các nhận xét trong đoạn mã bên dưới. Cập nhật tập lệnh với đoạn mã sau 8Chạy tập lệnh trong bảng điều khiển PowerShell. Bạn có thể thấy đầu ra của báo cáo như hình dưới đây Báo cáo HTML với thông tin máy tính cơ bảnThêm Nhãn Sử dụng Tham số Get-CimInstance -Class Win32_OperatingSystem | Select-object Version,Caption,BuildNumber,Manufacturer | ConvertTo-Html84 và Get-CimInstance -Class Win32_OperatingSystem | Select-object Version,Caption,BuildNumber,Manufacturer | ConvertTo-Html85Tại thời điểm này, tập lệnh hiện có thể lấy tất cả thông tin cơ bản của máy tính và xuất kết quả sang HTML. Tuy nhiên, như bạn có thể thấy trong ảnh chụp màn hình ở trên, ai đó hoặc người nhận báo cáo có thể gặp khó khăn trong việc hiểu nội dung khi bạn xóa chú thích vì thông tin không được gắn nhãn hoặc phân loại đúng cách Bằng cách sử dụng tham số 84 và 85, bạn có thể thêm nhãn vào mỗi bảng để bất kỳ ai cũng có thể dễ dàng phân biệt nội dung của báo cáoTham số 84 chỉ định văn bản cần thêm trước thẻ mở 89 và tham số 85 chỉ định văn bản sẽ thêm sau thẻ đóng 01. Các giá trị được thêm vào trên các tham số này không được tự động chuyển đổi thành mã Html, vì vậy bạn cần sử dụng các thẻ HTML một cách rõ ràng để nó được hiển thị đúng dưới dạng các phần tử HTMLCập nhật tập lệnh bằng các lệnh bên dưới, sau đó chạy tập lệnh trong bảng điều khiển PowerShell Dưới đây là những thay đổi trong tập lệnh
0Bạn có thể thấy với một chút công việc bổ sung, báo cáo có thể trông đẹp hơn rất nhiều, báo cáo sẽ được cập nhật như hình bên dưới Báo cáo HTML được thêm nhãn bằng Tham số PreContent và PostContentThay đổi bố cục bảng bằng tham số Get-CimInstance -Class Win32_OperatingSystem | Select-object Version,Caption,BuildNumber,Manufacturer08Có thể, bảng HTML được tạo có nhiều cột và bạn muốn thay đổi định dạng để hiển thị đúng giá trị dưới dạng danh sách, bạn có thể sử dụng tham số 08. Theo mặc định, khi bạn chuyển đầu ra thành 00, PowerShell sẽ tạo một bảng HTML giống với định dạng bảng Windows PowerShellNhư bạn có thể thấy trong ảnh chụp màn hình bên dưới, tiêu đề bảng hiển thị các tên thuộc tính như Phiên bản, Chú thích, Số bản dựng và Nhà sản xuất và mỗi hàng của bảng đại diện cho một đối tượng và hiển thị các giá trị của đối tượng cho từng thuộc tính Mã HTML được tạo bởi lệnh ghép ngắn ConvertTo-Html được định dạng dưới dạng BảngĐể thay đổi bố cục của bảng thành danh sách, hãy sử dụng tham số 01, sau đó là Danh sách. PowerShell tạo bảng HTML hai cột cho từng đối tượng giống với định dạng danh sách Windows PowerShell. Cột đầu tiên hiển thị tên thuộc tính như Phiên bản, Chú thích, Số bản dựng và Nhà sản xuất và cột thứ hai hiển thị giá trị thuộc tínhMã HTML được tạo bởi lệnh ghép ngắn ConvertTo-Html được định dạng dưới dạng Danh sáchTừ các ví dụ trên, bây giờ bạn đã có ý tưởng về cách thay đổi bố cục của bảng, hãy áp dụng tham số 08 trong tập lệnh của chúng ta để thay đổi bố cục của bảng thông tin Hệ điều hành, Bộ xử lý, BIOS và Đĩa sang định dạng danh sáchCập nhật tập lệnh với đoạn mã sau bên dưới. Tập lệnh có tham số 01 trong các dòng lệnh cho Hệ điều hành, Bộ xử lý, BIOS và Đĩa 0Sau khi áp dụng tham số 01, báo cáo sẽ được cập nhật như hình bên dưới. Bố cục bảng cho thông tin Hệ điều hành, Bộ xử lý, BIOS và Đĩa hiện được thay đổi thành danh sáchBáo cáo HTML với các bảng được định dạng là Danh sáchNâng cao Báo cáo bằng CSSHãy đưa báo cáo lên cấp độ tiếp theo và bắt đầu thêm thiết kế bằng CSS. CSS được sử dụng để kiểm soát cách báo cáo HTML sẽ trông như thế nào trong trình duyệt web. CSS kiểm soát phông chữ, văn bản, màu sắc, hình nền, lề và bố cục. Ở cuối phần này, bạn sẽ có thể xem cách báo cáo sẽ chuyển đổi từ định dạng đơn giản sang định dạng phong phú bằng cách sử dụng CSS Có ba cách để áp dụng CSS trong HTML như Inline, Internal và External. Đối với bài viết này, bạn sẽ áp dụng phương thức Internal sử dụng tham số 05 trong báo cáo HTMLTham số 05 chỉ định nội dung của thẻ 55. Thẻ 55 là một phần của cấu trúc HTML nơi bạn đặt mã cho CSS. Như bạn có thể thấy trong ảnh chụp màn hình bên dưới, thẻ 09 đã được bao gồm khi mã HTML được tạo bởi lệnh ghép ngắn 8Mã HTML hiển thị phần tử HeadBây giờ hãy sử dụng CSS để định dạng báo cáo HTML. Đầu tiên, sao chép mã bên dưới và dán vào đầu tập lệnh. Mã CSS được gán trong biến 21 sẽ thay đổi định dạng của văn bản trong báo cáo được đặt trong thẻ 03 2Tiếp theo, sử dụng tham số 05 và gán biến 21. Cập nhật tập lệnh bằng mã bên dưới 7Khi bạn chạy tập lệnh, báo cáo sẽ được cập nhật như hình bên dưới. Lưu ý rằng phần tử HTML bị ảnh hưởng duy nhất là 03 được áp dụng cho nhãn “Tên máy tính”. Các bước trên là một ví dụ tuyệt vời về cách bạn có thể kiểm soát hoặc điều khiển thiết kế của báo cáo HTML bằng CSSBáo cáo HTML với CSS sử dụng Tham số HeadĐể bổ sung thêm thiết kế cho các bảng và nhãn khác được đặt trong thẻ 05 trong báo cáo, hãy tiếp tục cập nhật biến 21 bằng mã CSS bên dưới 1Sau khi cập nhật và chạy tập lệnh, báo cáo sẽ được định dạng như hình bên dưới – Nhờ có CSS, báo cáo giờ đây trông bắt mắt và trông chuyên nghiệp Báo cáo HTML được định dạng bằng CSSSử dụng HTML Id và thuộc tính lớp trong CSSCác phần tử HTML là các khối xây dựng của toàn bộ báo cáo HTML của bạn, CSS sử dụng các phần tử này làm bộ chọn để biết nên áp dụng kiểu ở đâu. Từ các ví dụ trước, mã CSS đã được áp dụng cho các phần tử HTML 28, 29 và 70 trong báo cáo. Nhưng nếu bạn cần áp dụng phong cách khác nhau trên các yếu tố khác nhau thì sao? . Khi thiết kế báo cáo HTML của mình, bạn có thể sử dụng id hoặc lớp để xác định một phần tử
Hãy áp dụng các thuộc tính id và class trong báo cáo HTML. Như bạn có thể thấy trong đoạn mã bên dưới, nhãn ngày tạo được đặt trong thẻ 07 0Khi báo cáo được tạo và xem trong trình duyệt, nhãn ngày tạo được định dạng như hình bên dưới Báo cáo HTML hiển thị nhãn ngày tạoĐể định dạng nhãn ngày tạo bằng thuộc tính id – Đầu tiên, gán tên id ‘CreationDate‘ cho thẻ 07. Tên id nên được đặt bên trong thẻ bắt đầu. Mã cập nhật được hiển thị bên dưới 1Thứ hai, tạo mã CSS mới để định dạng nhãn ngày tạo. Sử dụng ký hiệu 73 theo sau là tên ID khi khai báo ID trong CSS. Thêm mã CSS bên dưới vào biến 21, sau đó lưu và chạy tập lệnh trong bảng điều khiển PowerShell 2Sau khi chỉ định id và tạo mã CSS mới nhắm mục tiêu thuộc tính id của thẻ 07, báo cáo sẽ được cập nhật như hình bên dướiBáo cáo HTML hiển thị nhãn ngày tạo được định dạng bằng CSS qua ID làm bộ chọnHãy áp dụng thuộc tính lớp trong bảng thông tin Dịch vụ. Sử dụng CSS thay đổi màu của văn bản thành màu xanh lá cây ** khi giá trị của trạng thái Đang chạy và sử dụng màu đỏ khi giá trị là Đã dừng Báo cáo HTML hiển thị bảng Thông tin dịch vụNhư đã đề cập trước đó, các thuộc tính lớp có thể được gán cho nhiều phần tử HTML. Trong báo cáo HTML, phần tử chứa văn bản Đang chạy và Đã dừng là thẻ 76. Sử dụng phương thức 77 của PowerShell, gán tên lớp RunningStatus và StopStatus cho tất cả các thẻ 76 trong bảng thông tin Dịch vụ. Sử dụng các lệnh bên dưới và cập nhật tập lệnh 3Add the following CSS code below in the 21 variable. All tags with a class name of RunningStatus will have the hexadecimal value of | 10 which is equivalent to color green, and All tags with a class name of StopStatus will have the hexadecimal value of | 11 which is equivalent to color red. 4Lưu và chạy tập lệnh. Bảng thông tin Dịch vụ trong báo cáo cần được cập nhật như hình bên dưới Báo cáo HTML hiển thị bảng Thông tin dịch vụ được định dạng bằng CSS thông qua bộ chọn lớpDưới đây là bố cục cuối cùng của báo cáo HTML được định dạng bằng CSS Bố cục cuối cùng của báo cáo HTMLDưới đây là các lệnh hoàn chỉnh cho Tạo-HTML-Báo cáo. Ps1 5Phần kết luậnTrong bài viết này, bạn đã học cách chuyển đổi các đối tượng (kết quả) thành mã HTML và tạo chúng thành báo cáo HTML Tạo báo cáo sang định dạng HTML cung cấp cho bạn khả năng áp dụng CSS giúp báo cáo dễ dàng cải thiện và thao tác hơn. Có rất nhiều tài nguyên trực tuyến miễn phí mà bạn có thể sử dụng để nâng cao kỹ năng thiết kế CSS và viết mã HTML của mình. Tôi hy vọng bài viết này cung cấp cho bạn đủ ý tưởng về cách bạn có thể tạo và cải thiện báo cáo HTML của mình. Chúc mừng Đọc thêm
Ghét quảng cáo? Khám phá sách hướng dẫn ATAThông tin khác từ ATA Learning & Partners
|