Blog Post: Automatic Document & Report Generation (Part 2)

Iain Brighton has created a free PowerShell module called „PScribo“ that can be used to easily create documents and reports in text, html, or Word format. To use this module, simply run this command: Install-Module -Name PScribo -Scope CurrentUser -Force Today, we are going to generate a document with dynamic table content: # # help about_document # create a folder to store generated documents $OutPath = „c:tempout” $exists = Test-Path -Path $OutPath if ( ! $exists ) { $null = New-Item -Path $OutPath -ItemType Directory -Force } # generate document Document ‚ ServiceReport ‚ { # generate the service information to use # (requires PowerShell 5 because prior to PowerShell 5, Get-Service does not supply # StartType – alternative: use Get-WmiObject -Class Win32_Service, and adjust # property names) $services = Get-Service | Select-Object -Property DisplayName , Status , StartType Paragraph -Style Heading1 „System Inventory for $env:computername” Paragraph -Style Heading2 „Services ($($services.Count) Services found):” # generate a table with one line per service $services | # select the properties to display, and the header texts to use Table -Columns DisplayName , Status , StartType -Headers ‚ Service Name ‚ , ‚ Current State ‚ , ‚ Startup Type ‚ -Width 0 } | Export-Document -Path $OutPath -Format Word , Html , Text # open the generated documents explorer $OutPath When you run this code, it yields three files called ServiceReport.docx/html/txt. As you see, the report contains your service list as a table. ReTweet this Tip!

GD Star Rating