Làm việc với HTML trong PowerShell
lệnh ghép ngắnNew-Item cmdlet được sử dụng để tạo một tệp html và Set-Content cmdlet để đưa nội dung vào đó Show
Bước 1Trong ví dụ này, chúng tôi đang tạo một tệp html mới có tên test. html Nhập lệnh sau trong Bảng điều khiển PowerShell ISE New-Item D:\temp\test\test.html -ItemType File Bạn có thể xem bài kiểm tra. html được tạo trong D. thư mục \temp\test Bước 2Trong ví dụ này, chúng tôi đang thêm nội dung để kiểm tra. html Nhập lệnh sau trong Bảng điều khiển PowerShell ISE Set-Content D:\temp\test\test.html 'Welcome to TutorialsPoint' Bước 3Trong ví dụ này, chúng tôi đang đọc nội dung của bài kiểm tra. html Get-Content D:\temp\test\test.html đầu raBạn có thể thấy đầu ra sau trong bảng điều khiển PowerShell Welcome to TutorialsPoint 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, Không phải là một độc giả? Không nhìn thấy video?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 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ạnđ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 cho 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 ________số 8_______ Khi bạn 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 sang 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. Đưa đầ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
Sau 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 Tham 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 đến 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ử 4, 5, 6, 7 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
Chạ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ố #The command below will get the Operating System information, convert the result to HTML code as a table and store it to a variable $OSinfo = Get-CimInstance -Class Win32_OperatingSystem | ConvertTo-Html -Property Version,Caption,BuildNumber,Manufacturer -Fragment #The command below will get the Processor information, convert the result to HTML code as table and store it to a variable $ProcessInfo = Get-CimInstance -ClassName Win32_Processor | ConvertTo-Html -Property DeviceID,Name,Caption,MaxClockSpeed,SocketDesignation,Manufacturer -Fragment #The command below will get the BIOS information, convert the result to HTML code as table and store it to a variable $BiosInfo = Get-CimInstance -ClassName Win32_BIOS | ConvertTo-Html -Property SMBIOSBIOSVersion,Manufacturer,Name,SerialNumber -Fragment #The command below will get the details of Disk, convert the result to HTML code as table and store it to a variable $DiscInfo = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | ConvertTo-Html -Property DeviceID,DriveType,ProviderName,VolumeName,Size,FreeSpace -Fragment #The command below will get first 10 services information, convert the result to HTML code as table and store it to a variable $ServicesInfo = Get-CimInstance -ClassName Win32_Service | Select-Object -First 10 |ConvertTo-Html -Property Name,DisplayName,State -Fragment #The command below will combine all the information gathered into a single HTML report $Report = ConvertTo-HTML -Body "$ComputerName $OSinfo $ProcessInfo $BiosInfo $DiscInfo $ServicesInfo" -Title "Computer Information Report" #The command below will generate the report to an HTML file $Report | Out-File .\Basic-Computer-Information-Report.html4 và #The command below will get the Operating System information, convert the result to HTML code as a table and store it to a variable $OSinfo = Get-CimInstance -Class Win32_OperatingSystem | ConvertTo-Html -Property Version,Caption,BuildNumber,Manufacturer -Fragment #The command below will get the Processor information, convert the result to HTML code as table and store it to a variable $ProcessInfo = Get-CimInstance -ClassName Win32_Processor | ConvertTo-Html -Property DeviceID,Name,Caption,MaxClockSpeed,SocketDesignation,Manufacturer -Fragment #The command below will get the BIOS information, convert the result to HTML code as table and store it to a variable $BiosInfo = Get-CimInstance -ClassName Win32_BIOS | ConvertTo-Html -Property SMBIOSBIOSVersion,Manufacturer,Name,SerialNumber -Fragment #The command below will get the details of Disk, convert the result to HTML code as table and store it to a variable $DiscInfo = Get-CimInstance -ClassName Win32_LogicalDisk -Filter "DriveType=3" | ConvertTo-Html -Property DeviceID,DriveType,ProviderName,VolumeName,Size,FreeSpace -Fragment #The command below will get first 10 services information, convert the result to HTML code as table and store it to a variable $ServicesInfo = Get-CimInstance -ClassName Win32_Service | Select-Object -First 10 |ConvertTo-Html -Property Name,DisplayName,State -Fragment #The command below will combine all the information gathered into a single HTML report $Report = ConvertTo-HTML -Body "$ComputerName $OSinfo $ProcessInfo $BiosInfo $DiscInfo $ServicesInfo" -Title "Computer Information Report" #The command below will generate the report to an HTML file $Report | Out-File .\Basic-Computer-Information-Report.html5Tạ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 các tham số 4 và 5, bạn có thể thêm nhãn vào mỗi bảng để mọi người có thể dễ dàng phân biệt nội dung của báo cáoTham số 4 chỉ định văn bản cần thêm trước thẻ mở 9 và tham số 5 chỉ định văn bản sẽ thêm sau thẻ đóng 1. 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ị chính xác dưới dạng 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
Bạ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ố #The command below will get the name of the computer
$ComputerName = " | tags with a class name of RunningStatus will have the hexadecimal value of 0 which is equivalent to color green, and All | tags with a class name of StopStatus will have the hexadecimal value of 1 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
|