Cách nào sau đây là cách chính xác để xuất dữ liệu powershell sang báo cáo html?
Tôi đã sử dụng báo cáo HTML trong PowerShell được một thời gian. Ban đầu, tôi thường xây dựng HTML bằng tay, nhưng thời gian dành cho việc cố gắng tìm ra cái nào hiệu quả và cái gì không khiến tôi phát điên. Với mô-đun PSWriteHTML, nhiều thứ đã thay đổi. Chỉ với một vài dòng PowerShell, tôi có thể tạo các báo cáo giàu tính năng giúp thay đổi cách tôi hiển thị dữ liệu cho Khách hàng của mình. Hôm nay tôi muốn cho bạn thấy một số báo cáo HTML nâng cao mà không thực sự làm phức tạp mã PowerShell. Trong vài tháng qua, tôi đã thêm nhiều tính năng tạo báo cáo nâng cao mà không ảnh hưởng đến khả năng đọc Show Tìm kiếm theo bảng chữ cái trong bảng HTML Một trong những tính năng thú vị được thêm gần đây là Tìm kiếm theo bảng chữ cái. Với một công tắc duy nhất, giờ đây bạn có thể tìm kiếm bằng cách sử dụng các chữ cái trong bảng chữ cái một cách nhanh chóng $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online Vì cột đầu tiên của tôi dựa trên Tên phân biệt, nên nó luôn bắt đầu bằng chữ C, vì vậy nó không phải là một ví dụ hay để hiển thị trường hợp sử dụng của nó. May mắn thay, chúng tôi có thể định cấu hình một chút để xác định Tên cột, Độ nhạy trường hợp hoặc thêm số. Điều này được thực hiện bằng cách sử dụng New-TableAphabetSearch trong New-HTMLTable $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online Như bạn có thể thấy, khi bạn di chuột qua chữ cái, nó cũng hiển thị cho bạn biết có bao nhiêu hàng bắt đầu bằng chữ cái mà chúng ta đang di chuột qua. Bằng cách thêm khóa chuyển CaseSensitive và khóa chuyển AddNumbers, chúng tôi thay đổi cách hoạt động của tìm kiếm $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' -CaseSensitive -AddNumbers } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online Bảng tìm kiếm trong bảng HTML Một tính năng khác có thể hữu ích là Search Pane. Bằng cách thêm công tắc SearchPane vào New-HTMLTable, bạn có thể nhận được các bộ lọc nâng cao ở đầu bảng Search Panes cũng có sẵn như là một phần của các nút. Theo mặc định, những thứ đó sẽ không hiển thị, nhưng bạn có thể dễ dàng kích hoạt chúng khi đến lúc. Điều này có thể thực hiện được bằng cách sử dụng thuộc tính Nút, nơi bạn xác định nút nào sẽ hiển thị. Trong trường hợp này, tôi chỉ yêu cầu thêm tính năng xuất vào nút Excel và Bảng tìm kiếm $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -Buttons excelHtml5, searchPanes } -ShowHTML -FilePath "$PSScriptRoot\Example-SearchPane02.html" -Online Khi người dùng nhấn, nút Search Panes sẽ xuất hiện trên đầu bảng, như hình bên dưới Các ngăn tìm kiếm có tiềm năng lớn, nhưng tôi đã không dành nhiều thời gian để hiển thị các tùy chọn cấu hình cho chúng để mặc định Trình tạo tìm kiếm trong bảng HTML Trình tạo tìm kiếm là tùy chọn thú vị nhất trong số các tùy chọn được đề cập ở trên. Chỉ với một công tắc, bạn có một nút nhỏ $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online Sự kỳ diệu bắt đầu khi bạn nhấn nó. Bạn có thể tìm kiếm và lọc các cột khác nhau bằng nhiều điều kiện Khi bạn chọn bất kỳ thuộc tính nào, thuộc tính đó sẽ điền sẵn dữ liệu từ cột đã chọn vào trường tìm kiếm. Không phải là nó tuyệt vời?. Bây giờ tôi đang thêm nó vào từng báo cáo. Hiện tại, tôi chưa thêm nhiều tùy chọn khả thi cho SearchBuilder, nhưng có thể thêm các bộ lọc đặt trước trong tương lai. Điều này sẽ cho phép hiển thị tập dữ liệu đầy đủ nhưng vẫn cung cấp dữ liệu đã được lọc trước. Nếu bạn quan tâm đến chức năng như vậy, hãy cho tôi biết trên GitHub Cải thiện hiệu suất PSWriteHTML Những tính năng cải thiện tìm kiếm đó chỉ là một phần nổi của tảng băng trôi về những gì đã được thêm vào trong vài tháng qua. Một trong những điều tôi làm là hiệu suất khi làm việc với bộ dữ liệu khổng lồ. Bạn thấy đấy, làm việc với một bảng có 300 người dùng với 30 trường mỗi người thật dễ dàng. Ngay cả một lệnh ghép ngắn ConvertTo-HTML cơ bản với một số CSS cũng có thể được sử dụng và hiển thị dữ liệu đó. Sự cố bắt đầu khi bạn phải hiển thị 50000 người dùng, 50000 quyền hoặc bất kỳ loại dữ liệu nào khác. Điều gì thậm chí còn phức tạp hơn nếu bạn có năm bảng trở lên với cùng một lượng dữ liệu. Mặc dù có vẻ không nhiều nhưng 50000 đối tượng trong một bảng có thể tạo tệp HTML 80 MB. Đôi khi, tôi làm việc với dữ liệu có dung lượng lên tới 250 MB trong một tệp HTML. Nếu bạn đã từng cố mở một tệp HTML có kích thước như vậy được tạo trong các phiên bản PSWriteHTML trước đó, nó sẽ khiến trình duyệt của bạn muốn nổ tung. Vậy phiên bản mới bổ sung những gì? . Theo mặc định khi bảng được tạo, nó sử dụng các thẻ HTML. Sử dụng New-HTMLTableOption cho phép bạn thay đổi cách lưu trữ dữ liệu – bạn có thể chọn HTML, JavaScript hoặc AjaxJSON $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online Thay đổi nhỏ này buộc PSWriteHTML tạo nội dung của bảng dưới dạng dữ liệu JavaScript thay vì bảng HTML thông thường. Đổi lại, điều này cùng với một số tính năng khác mà DataTables cung cấp (mà tôi bật theo mặc định), cho phép lưu trữ một lượng lớn dữ liệu mà không ảnh hưởng đến hiệu suất. Tương tự, hàm cũng có thể đặt DataStore thành AjaxJSON, điều này sẽ lưu bộ dữ liệu cho các bảng trong các tệp JSON riêng biệt. Điều này có nghĩa là HTML chỉ chứa dữ liệu để định cấu hình bảng, nhưng bản thân dữ liệu được lưu trữ bên ngoài HTML. Mặc dù đây là một tính năng hay, nhưng nó yêu cầu Máy chủ WEB hoạt động. Điều này có thể hoạt động khi bạn lưu trữ các trang được tạo bởi PSWriteHTML ở đâu đó nhưng khá vô dụng đối với việc sử dụng di động. Điều quan trọng cần biết là cho dù đây là cửa hàng HTML hay JavaScript, sự khác biệt là nhỏ và không ảnh hưởng đến giao diện của bảng. Tuy nhiên, từ góc độ hiệu suất, đó là một công cụ thay đổi cuộc chơi. Trong khi làm việc với chức năng đó, tôi phải viết lệnh ghép ngắn ConvertTo-JSON của riêng mình vì những hạn chế của PowerShell trong các phiên bản gốc. Vì bây giờ tôi đang kiểm soát cách dữ liệu được ghi vào cấu hình JSON/JavaScript, nên tôi có thể thêm một số tính năng khác bằng cách sử dụng cùng một lệnh ghép ngắn. Khi đẩy dữ liệu sang HTML, nhiều vấn đề của tôi là cách hiển thị mảng hoặc ngày và cách tôi không kiểm soát được. Thông thường, nếu tôi muốn biết chắc ngày tháng của mình được hiển thị như thế nào trong HTML, thì tôi cần chuẩn bị bên ngoài PSWriteHTML. Trong trường hợp mảng, nó giống nhau. không còn nữa $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'dd.MM.yyyy HH:mm:ss' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online Sử dụng Tùy chọn bảng HTML mới và cửa hàng JavaScript, bạn có thể buộc các đối tượng DateTime định dạng thời gian nào được viết trong HTML và cách các mảng được xử lý. Hãy xem xét ví dụ nhỏ này $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online Như bạn có thể thấy, thuộc tính Thẻ không được hiển thị đúng cách và DateTime có mẫu ngày từ máy tính đã tạo thuộc tính đó. Nhờ có New-HTMLTableOption, giờ đây bạn có thể kiểm soát hành vi này ________số 8 Điều này có nghĩa là bạn không phải lo lắng về việc mảng không có định dạng phù hợp và bạn có thể kiểm soát đầu ra ngày theo cách mà tổ chức của bạn cần. Mặc dù tính năng này chủ yếu được sử dụng trong JavaScript, nhưng tôi cũng đã chuyển nó trở lại HTML. Điều này có nghĩa là đối với HTML, giờ đây bạn có thể buộc Mảng trở thành chuỗi được kết nối bởi ký tự được xác định hoặc có Ngày giờ phù hợp với bạn. Nó đặc biệt cần thiết cho các nguồn không thể sử dụng JavaScript, chẳng hạn như email New-HTML { New-HTMLTableOption -DataStore HTML -DateTimeFormat 'yyyy-MM-dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online Điều quan trọng cần biết, đặc biệt là để xử lý các định dạng DateTime, là cả PowerShell (. NET) và JavaScript xử lý ngày thành định dạng chuỗi khác nhau. New-HTMLTableOption thực hiện chuyển đổi ngày tháng bằng PowerShell – trước khi nó được ghi vào tệp, vì vậy trong trường hợp này, bất kỳ định dạng ngày giờ nào được sử dụng phải là cách PowerShell xử lý nó. Tuy nhiên, bất kỳ chức năng HTML nào (khi được sử dụng trong trình duyệt) chẳng hạn như sắp xếp hoặc định dạng có điều kiện đều hoạt động với định dạng DateTime dựa trên JavaScript. Trong trường hợp đó, bạn cần nhớ sử dụng Định dạng ngày của JavaScript. Có một ngoại lệ đối với quy tắc này – Định dạng có điều kiện bằng khóa chuyển nội tuyến. Chuyển đổi nội tuyến buộc định dạng có điều kiện phải được thực hiện ở cấp độ PowerShell, điều này hữu ích cho các email không có chức năng JavaScript. Tạo thời gian bị ảnh hưởng, nhưng chức năng đầy đủ có sẵn. Định dạng có điều kiện không có chuyển đổi nội tuyến sẽ thêm một vài dòng mã vào HTML được tạo và so sánh được thực hiện ở cấp độ HTML khi hiển thị nó trên màn hình. Tôi biết điều đó có thể gây nhầm lẫn nhưng cố gắng đưa hai định dạng DateTime đó thành một định dạng duy nhất là một nỗ lực quá lớn với nhiều rủi ro mà tôi không muốn thực hiện. Ít nhất là không phải tại thời điểm này. Để chỉ cho bạn cách sắp xếp ngày tháng của 3 loại khác nhau được xử lý, bạn có thể xem ví dụ này $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online0 Sắp xếp đủ thông minh để tìm ra cột nào có ngày nào và hành động tương ứng Định dạng có điều kiện trong Bảng HTML bằng PowerShell Vì tôi đã đề cập đến điều này ở trên – tôi đoán bạn đã biết rằng tôi đã cải tiến Định dạng có điều kiện để hỗ trợ kiểu DateTime. Nhưng đó không phải là tất cả những cải tiến. Tôi đã viết lại cách tạo và xử lý định dạng có điều kiện, đồng thời thêm nhiều tùy chọn khi làm như vậy $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online1 Điều đầu tiên cần biết là DateTimeSorting có thể có nhiều định dạng DateTime. Điều này giúp có thể có 2 hoặc nhiều định dạng ngày khác nhau trong cùng một bảng và JavaScript sẽ phát hiện định dạng nào nằm trong cột nào và nên áp dụng định dạng phù hợp Bằng cách sử dụng kiểu so sánh ngày và cung cấp DateTimeFormat dự kiến, chúng ta có thể dễ dàng thêm kiểu vào bảng của mình $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online2 Một tính năng mới thú vị khác giúp cải thiện định dạng có điều kiện là bạn không còn bị ràng buộc phải đánh dấu cột chứa dữ liệu hoặc toàn bộ hàng, nhưng giờ đây, bạn cũng có thể chọn nội dung cần đánh dấu. Bằng cách sử dụng tham số HighlightHeaders, bạn có thể cung cấp một hoặc nhiều tên cột sẽ được tạo kiểu khi tìm thấy kết quả khớp $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online3 Điều kiện bảng hiện cũng hỗ trợ thêm hai toán tử. Đó là giữa và giữaInclusive. Điều này mang lại khả năng làm nổi bật hai ngày hoặc hai số và làm cho nó chính xác hơn so với những gì trước đây có thể $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online4 Ngoài ra, trong phiên bản mới nhất, giờ đây có thể có các nhóm điều kiện. Điều này có nghĩa là bạn có thể xác định logic trên hai hoặc nhiều điều kiện xảy ra để áp dụng điều kiện. Hãy xem ví dụ bên dưới, làm nổi bật các tài khoản có Ngày đăng nhập lần cuối cao hơn năm 2019, nhưng chỉ khi Mật khẩu được đặt lần cuối cao hơn năm 2020 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online5 Tất nhiên, bạn có thể kết hợp và kết hợp các điều kiện khác nhau so sánh các giá trị khác nhau Định dạng chuỗi DateTime khi sử dụng DataStore HTML hoặc sử dụng định dạng có điều kiện Nội tuyến Nên sử dụng các định dạng DateTime sau đây khi xác định DataStore và định dạng có điều kiện (New-TableConditionalFormating -ComparisonType date -Inline). Xin lưu ý rằng mã thông báo phân biệt chữ hoa chữ thường SpecifierDescriptionOutputdShort Date08/04/2007DLong Date08 April 2007tShort Time21. 08TLong Time21. 08. 59fNgày đầy đủ08 Tháng 4 năm 2007 21. 08FNgày giờ đầy đủ (dài)08 Tháng tư 2007 21. 08. 59gNgày giờ mặc định08/04/2007 21. 08GNgày giờ mặc định (dài)08/04/2007 21. 08. 59MNgày / Tháng08 Tháng 4rRFC1123 ngàyCN, 08 Tháng 4 2007 21. 08. 59 GMTsNgày/giờ có thể sắp xếp2007-04-08T21. 08. 59uGiờ quốc tế, múi giờ địa phương2007-04-08 21. 08. 59ZYTháng / NămTháng 4 năm 2007ddDay08dddTên ngày ngắnSunddddTên ngày đầy đủSundayhh2 chữ số giờ09HH2 giờ chữ số (24 giờ)21mm2 chữ số phút08MMMonth04MMMSTên tháng ngắnAprMMMMMonth nameAprilssseconds59ffffmilliseconds120FFFmili giây không có dấu 012ttAM/PMPMyy2 chữ số năm07yyyy4 chữ số năm2007. Dấu phân cách giờ, phút, giây, e. g. {0. hh. mm. ss}09. 08. 59/Năm, tháng, ngày ngăn cách, đ. g. {0. đ/MM/yyyy}04/08/2007. dấu phân cách mili giây Định dạng chuỗi DateTime khi sử dụng định dạng và sắp xếp có điều kiện Nên sử dụng các định dạng DateTime sau đây khi sử dụng định dạng có điều kiện (New-TableConditionalFormating -ComparisonType date) mà không cần chuyển đổi nội tuyến (dựa trên JavaScript). Những mã thông báo đó cũng được sử dụng trong quá trình Sắp xếp Ngày giờ. Xin lưu ý rằng mã thông báo phân biệt chữ hoa chữ thường Đầu vàoVí dụMô tả____23 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' -CaseSensitive -AddNumbers } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online44 hoặc năm có 2 chữ số. Ghi chú. Chỉ có 4 chữ số có thể được phân tích cú pháp trên $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' -CaseSensitive -AddNumbers } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online5 chế độ $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' -CaseSensitive -AddNumbers } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online6 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' -CaseSensitive -AddNumbers } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online72 chữ số năm $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' -CaseSensitive -AddNumbers } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online8 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' -CaseSensitive -AddNumbers } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online9Năm với bất kỳ số lượng chữ số và ký hiệu $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -Buttons excelHtml5, searchPanes } -ShowHTML -FilePath "$PSScriptRoot\Example-SearchPane02.html" -Online0 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -Buttons excelHtml5, searchPanes } -ShowHTML -FilePath "$PSScriptRoot\Example-SearchPane02.html" -Online1Quý của năm. Đặt tháng thành tháng đầu tiên trong quý. $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -Buttons excelHtml5, searchPanes } -ShowHTML -FilePath "$PSScriptRoot\Example-SearchPane02.html" -Online2 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -Buttons excelHtml5, searchPanes } -ShowHTML -FilePath "$PSScriptRoot\Example-SearchPane02.html" -Online3Số tháng $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -Buttons excelHtml5, searchPanes } -ShowHTML -FilePath "$PSScriptRoot\Example-SearchPane02.html" -Online4 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -Buttons excelHtml5, searchPanes } -ShowHTML -FilePath "$PSScriptRoot\Example-SearchPane02.html" -Online5Tên tháng theo ngôn ngữ được đặt bởi_______36 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -Buttons excelHtml5, searchPanes } -ShowHTML -FilePath "$PSScriptRoot\Example-SearchPane02.html" -Online7 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -Buttons excelHtml5, searchPanes } -ShowHTML -FilePath "$PSScriptRoot\Example-SearchPane02.html" -Online8Ngày trong tháng $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -Buttons excelHtml5, searchPanes } -ShowHTML -FilePath "$PSScriptRoot\Example-SearchPane02.html" -Online9 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online0Ngày trong tháng với thứ tự $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online1 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online2Ngày trong năm $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online3 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online4Dấu thời gian Unix $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online5 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online6Dấu thời gian ms Unix Mã thông báo tuần năm, tuần và ngày trong tuần Đầu vàoVí dụMô tả $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online7 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' -CaseSensitive -AddNumbers } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online4Tuần ngôn ngữ 4 chữ số năm $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online9 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' -CaseSensitive -AddNumbers } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online7Tuần ngôn ngữ 2 chữ số năm $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online1 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online2Tuần ngôn ngữ của năm $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online3 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online4Ngày địa phương trong tuần $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online5 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online6Tên ngày trong ngôn ngữ được đặt bởi $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -Buttons excelHtml5, searchPanes } -ShowHTML -FilePath "$PSScriptRoot\Example-SearchPane02.html" -Online6 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online8 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' -CaseSensitive -AddNumbers } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online4Tuần tuần 4 chữ số ISO năm $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'dd.MM.yyyy HH:mm:ss' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online0 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' -CaseSensitive -AddNumbers } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online7Tuần tuần 2 chữ số ISO năm $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'dd.MM.yyyy HH:mm:ss' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online2 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -OnlineISO4 tuần của năm Các định dạng nhận biết ngôn ngữ Đầu vàoVí dụMô tả $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'dd.MM.yyyy HH:mm:ss' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online6 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'dd.MM.yyyy HH:mm:ss' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online7Ngày (ở định dạng cục bộ) $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'dd.MM.yyyy HH:mm:ss' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online8 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'dd.MM.yyyy HH:mm:ss' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-Builder.html" -Online9Tên tháng, ngày trong tháng, năm $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online0 $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online1Tên tháng, ngày trong tháng, năm, thời gian $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online2 $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online3Ngày trong tuần, tên tháng, ngày trong tháng, năm, thời gian $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online4 $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online5Thời gian (không có giây) $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online6 $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online7Thời gian (có giây) Mã thông báo giờ, phút, giây, mili giây và độ lệch Đầu vàoVí dụMô tả $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online8 $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online9Giờ (thời gian 24 giờ) $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'yyyy.MM.dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online0 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -Buttons excelHtml5, searchPanes } -ShowHTML -FilePath "$PSScriptRoot\Example-SearchPane02.html" -Online3Giờ (thời gian 12 giờ được sử dụng với $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'yyyy.MM.dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online2. ) $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'yyyy.MM.dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online3 $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'yyyy.MM.dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online4Giờ (thời gian 24 giờ từ 1 đến 24) $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'yyyy.MM.dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online2 $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'yyyy.MM.dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online6Sau hoặc kinh tuyến trước (Lưu ý một ký tự $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'yyyy.MM.dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online7 cũng được coi là hợp lệ) $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'yyyy.MM.dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online8 $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'yyyy.MM.dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online9Phút New-HTML { New-HTMLTableOption -DataStore HTML -DateTimeFormat 'yyyy-MM-dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online0 $Objects = @( [PSCustomObject] @{ Name = 'Przemek'; Tags = 'PowerShell', 'IT', 'SomethingElse'; Value = 15; Date = (Get-Date).AddYears(-20) } [PSCustomObject] @{ Name = 'Adam'; Tags = 'Rain', 'MorseCode'; Value = 30; Date = (Get-Date).AddYears(-20) } ) New-HTML { New-HTMLTableOption -DataStore JavaScript -DateTimeFormat 'yyyy.MM.dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online9Giây New-HTML { New-HTMLTableOption -DataStore HTML -DateTimeFormat 'yyyy-MM-dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online2 New-HTML { New-HTMLTableOption -DataStore HTML -DateTimeFormat 'yyyy-MM-dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online3Giây phân số New-HTML { New-HTMLTableOption -DataStore HTML -DateTimeFormat 'yyyy-MM-dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online4 New-HTML { New-HTMLTableOption -DataStore HTML -DateTimeFormat 'yyyy-MM-dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online5Độ lệch từ UTC là New-HTML { New-HTMLTableOption -DataStore HTML -DateTimeFormat 'yyyy-MM-dd' -ArrayJoin -ArrayJoinString ',' New-HTMLTable -DataTable $Objects -Title 'Table with Users' -HideFooter -PagingLength 10 -SearchBuilder } -ShowHTML -FilePath "$PSScriptRoot\Example-TableOptions.html" -Online6, _______97 hoặc _______98 Các lợi ích của Out-HTMLView từ New-HTMLTable Xin nhắc lại, Out-HTMLView, được sử dụng chủ yếu cho báo cáo đặc biệt, cũng được hưởng lợi từ tất cả các cải tiến được đề cập ở trên $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online6 Điều đó cũng có nghĩa là mọi tính năng định dạng có điều kiện sẽ hoạt động bình thường $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online7 Điều tương tự cũng áp dụng cho DataStore và buộc các bộ dữ liệu lớn thành JavaScript $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online8 Điều này đảm bảo rằng ngay cả đối với một lớp lót, bạn vẫn có thể hưởng lợi từ các cải tiến về hiệu suất có trong PSWriteHTML Các tài nguyên cũ hơn cho PSWriteHTML, Dashimo, Statusimo hoặc Emailimo dưới dạng Mô-đun PowerShell Nếu bạn không biết PSWriteHTML, vui lòng đọc các bài viết dưới đây để hiểu cách bạn có thể sử dụng sức mạnh của nó để hoàn thành mục tiêu của mình. Tất cả các chủ đề được mô tả ở trên chỉ là một phần nhỏ trong những gì PSWriteHTML có thể làm
Để thiết lập và chạy nó, chỉ cần cài đặt nó từ PowerShellGallery và bạn đã ổn $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online9 Trong khi các bài đăng trên blog tập trung vào PSWriteHTML, nhiều bài đăng trên blog khác hiển thị các tính năng khác nhau sử dụng PSWriteHTML để hoàn thành mục tiêu của họ Các tính năng thử nghiệm thú vị của PSWriteHTML PSWriteHTML không ngừng phát triển – các tính năng mới được thêm vào và các tính năng cũ được cải thiện. Trong phiên bản trước, tôi đã thêm khả năng thêm bản đồ vào HTML Thêm 3 bản đồ, như hình trên, được thực hiện bằng đoạn mã sau $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' -CaseSensitive -AddNumbers } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online0 Tất nhiên, đây chỉ là chức năng cơ bản và là một lời trêu ghẹo về những gì sắp ra mắt trong các bản phát hành trong tương lai. Có thể thêm các địa điểm trên bản đồ, có các kết nối giữa chúng và nhiều thứ khác có thể hữu ích cho báo cáo. Đó là tương lai, còn bây giờ – bạn có thể hiển thị 3 bản đồ đó, và thế là xong. Mặc dù tôi đã đóng gói hơn 50 bản đồ khác nhưng những bản đồ đó vẫn chưa có sẵn vì tôi hơi lười thiết lập. Bạn có thể mong đợi bản đồ được cải thiện trong các lần lặp lại trong tương lai. Điều quan trọng về những bản đồ đó là chúng khả dụng ngoại tuyến giống như tất cả các tính năng khác của PSWriteHTML. Điều này làm cho kích thước của HTML lớn hơn nhiều, nhưng đồng thời, nó có sẵn trong môi trường ngoại tuyến Một tính năng mới khác đã tham gia PSWriteHTML gần đây là kết nối biểu đồ với bảng. Giờ đây, có thể nhấp vào một chiếc bánh, thanh hoặc dòng và có các giá trị được tìm thấy bên trong bảng. Hãy nhìn vào đó $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' -CaseSensitive -AddNumbers } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online1 $Users = Get-ADUser -Filter * -Properties LastLogonDate, PasswordLastSet New-HTML { New-HTMLTable -DataTable $Users -Title 'Table with Users' -HideFooter -PagingLength 10 -AlphabetSearch { New-TableAlphabetSearch -ColumnName 'Name' -CaseSensitive -AddNumbers } } -ShowHTML -FilePath "$PSScriptRoot\Example-1.html" -Online2 Điều này có nghĩa là giờ đây có thể kết nối biểu đồ với bảng, sơ đồ với bảng, bảng với bảng và nâng cao báo cáo HTML hơn nữa. Vui lòng khám phá các ví dụ về GitHub vì có vô số ý tưởng khác nhau cho thấy bạn có thể làm gì. Điều quan trọng là bạn có thể kết nối hầu hết nếu không muốn nói là tất cả các tính năng do PSWriteHTML cung cấp vào một báo cáo. Hãy nhớ rằng mặc dù tôi thỉnh thoảng viết các bài đăng trên blog về các tính năng cho PSWriteHTML hoặc các mô-đun khác, nhưng tôi không phải lúc nào cũng làm như vậy trong nhiều tháng. Sẽ tốt hơn nhiều nếu bạn gắn dấu sao cho một dự án và xem các bản phát hành/thay đổi trên GitHub nếu bạn muốn cập nhật. Nếu bạn biết HTML, CSS hoặc JavaScript và muốn giúp phát triển PSWriteHTML, vui lòng liên hệ với tôi và tôi sẽ giúp bạn bắt đầu. Nếu bạn không có kỹ năng nhưng vẫn muốn tài trợ cho công việc của tôi, bạn có thể làm như vậy thông qua Nhà tài trợ GitHub Lệnh hợp lệ nào sẽ tạo báo cáo HTML cho Dịch vụ danh sách trong PowerShell?PowerShell cung cấp lệnh ghép ngắn tích hợp có tên ConvertTo-Html . Điều này lấy các đối tượng làm đầu vào và chuyển đổi từng đối tượng thành trang web HTML. Để sử dụng điều này, chỉ cần lấy đầu ra và chuyển trực tiếp sang ConvertTo-Html. Lệnh ghép ngắn sau đó sẽ trả về một chuỗi HTML lớn.
Bạn có thể viết mã HTML trong PowerShell không?Như 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 ConvertTo-Html . Khi bạn sử dụng tham số Fragment, PowerShell chỉ tạo phần tử bảng HTML. Các phần tử
Báo cáo HTML là gì?Báo cáo HTML có thể được định nghĩa là sử dụng ngôn ngữ HTML để tạo báo cáo trên web hoặc báo cáo được tạo bởi trình tạo báo cáo HTML . Ngoài HTML, bạn cũng có thể nghe nói về HTML5. Đây là phiên bản mới nhất của lập trình HTML, cho phép nhiều loại dữ liệu hơn (e. g. video, âm thanh) được kết hợp.
Nền tảng nào được sử dụng cho PowerShell?PowerShell chạy trên Windows, Linux và macOS . |