As Built Report

As Built Report is a configuration document framework which uses Microsoft PowerShell and PScribo, to generate and build as built report documents in HTML, XML, Text & MS Word document formats.

As Built Report is an open source project developed primarily for IT professionals to allow them to easily produce ‘as built’ configuration documentation which is clear and consistent, across multiple IT vendors and technologies.

The framework allows users to easily run and generate reports against their IT environments, and provides contributors the ability to easily create new reports for any IT vendor and/or technology which supports PowerShell and/or a RESTful API.

Features

As Built Report provides the following features;

  • Support for multiple document formats; HTML, XML, Text & DOC
  • Support for custom styling of reports; Cover Page, TOC, colours & fonts
  • Health checks which highlight configuration issues within the environment
  • Append time and date to reports
  • Deliver reports via email
PScribo PowerShell cmdlets

Components

As Built Report uses PScribo, which is an open source project for Windows PowerShell, which creates documents in standardised formats. PScribo provides a set of functions that makes it easy to create a document-like structure within PowerShell scripts, without having to be concerned with handling output formatting or supporting multiple output formats.

The other As Built Report components are as follows;

  • Base Script Configuration (AsBuiltReport.json) – JSON configuration file used to store information relating to Author’s name, Company information & SMTP mail server configuration. Individual configuration files can be saved and specified also.
  • Base Script (New-AsBuiltReport.ps1) – pulls information from the As Built Report JSON configuration file. The base script calls .ps1 scripts from the Reports and Styles sub-folders. The base script also provides the functionality to send reports via email.
  • Reports Folder – each sub-folder represents a report type. Each folder contains a report JSON configuration file and a PowerShell script.
  • Reports Script – the report script is specific to each vendor and/or technology and is used to extract information from the specific environment. The report script will be written to utilise PowerShell modules or RESTful APIs which the vendor/technology provides.
  • Reports Configuration – the report configuration is a JSON file which stores information specific to the related report. It holds information such as the report name, version, and release status. The report configuration can also provide functionality such as configurable report options, health checks and granular information levels.
  • Styles Folder – each file within the Styles folder represents a customised style. By default, each report uses a style which is specific to each vendor. Custom styles can also be created and used to align to company branding policies.
  • Styles Script – the styles script sets the default layout, fonts, colours and sizes used within the report. Style scripts can be used to layout cover pages, table of contents and other unique tables or sections.

Getting Started

To start using As Built Report, you will need to do the following;

  1. Install PScribo via one of the following methods;
  2. Download As Built report from my Github repository
  3. Extract contents of the As Built Report to a local folder
  4. Run the .\New-AsBuiltReport.ps1 script

Parameters

PARAMETER Target

Specifies the IP/FQDN of the target system.
This parameter is mandatory.

PARAMETER Username

Specifies the username of the target system.

PARAMETER Password

Specifies the password of the target system.

PARAMETER Credentials

Specifies the credentials of the target system.

PARAMETER Type

Specifies the type of report that will generated.
Type paramater must match the report filename in the \Reports\ folder.
This parameter is mandatory.

PARAMETER Format

Specifies a custom document style to be used for the report.
The style name must match the filename in the \Styles folder.
This parameter is optional and does not have a default value.

PARAMETER StyleName

Specifies a custom document style to be used for the report.
The style name must match the filename in the \Styles folder.
This parameter is optional and does not have a default value.

PARAMETER Path

Specifies the path to save the report.
This parameter is optional. If not specified the report will be saved in the script folder.

PARAMETER AsBuiltConfigPath

Specifies the path to the As Built report configuration file.
This parameter is optional. If not specified the script will prompt the user to provide the configuration information.

PARAMETER Timestamp

Specifies whether to append a timestamp string to the report filename.
This parameter is optional.
By default, the timestamp string is not added to the report filename.

PARAMETER Healthchecks

Highlights certain issues within the system report.
Some reports may not provide this functionality.
This parameter is optional.

PARAMETER SendEmail

Sends report to specified recipients as email attachments.
This parameter is optional.

Examples

Creates a VMware vSphere As Built Report in HTML & DOC formats. Appends timestamp to the filename. Highlights configuration issues within the report. Saves report to specified path.

Sample Report

Sample Report – VMware vSphere As Built Report