New-AsBuiltReportConfig
Description
New-AsBuiltReportConfig creates JSON configuration files for individual As Built Reports.
These configuration files control:
- InfoLevel: How much detail is included in each section (0=disabled, 1=summary, 2-5=increasing detail)
- HealthCheck: Which health checks are enabled to highlight configuration issues
- Options: Report-specific settings (e.g., mask license keys, show VM snapshots)
- Report Settings: Language, cover page, table of contents preferences
When to Use This Command
Run this command to:
- Generate a baseline configuration file - Create the JSON file you can then edit to customise InfoLevels and health checks
- Create reusable templates - Generate different configurations for different customers, environments, or report types
- After module updates - Regenerate config files to get new sections and options (use
-Forceto overwrite) - Troubleshooting - Generate a fresh config file for testing (see Troubleshooting)
Understanding InfoLevel
InfoLevel controls the depth of information collected for each section:
| Level | Detail | Description |
|---|---|---|
| 0 | Disabled | Does not collect or display any information |
| 1 | Summary | Provides summarised information for a collection of objects |
| 2 | Advanced Summary | Provides condensed, detailed information for a collection of objects |
| 3 | Detailed | Provides detailed information for individual objects (recommended starting point) |
| 4 | Advanced Detailed | Provides detailed information for individual objects, as well as information for associated objects (Hosts, Clusters, Datastores, VMs etc) |
| 5 | Comprehensive | Provides comprehensive information for individual objects, such as advanced configuration settings |
Report Module Differences
Each report module defines its own InfoLevel implementation. Not all modules support levels 0-5. Check the generated JSON configuration file or the report module's README to see which InfoLevels are available for each section.
Performance Impact
Higher InfoLevels collect more data and take longer to generate. Start with InfoLevel 2 and increase only for sections you need detailed information about.
Parameters
Report
Specifies the type of report configuration to create.
This is a mandatory parameter.
Folderpath
Specifies the folder path to create the report JSON configuration file.
This is a mandatory parameter.
Filename
Specifies the filename of the report JSON configuration file.
This is an optional parameter.
If a filename is not specified, a JSON configuration file will be created with a default filename AsBuiltReport.<Vendor>.<Technology>.json
Force
Specifies to overwrite an existing JSON configuration.
This is an optional parameter.
Examples
-
Creates a new NetApp ONTAP report JSON configuration file in the
C:\Reportsfolder. -
Creates a new Microsoft Active Directory report JSON configuration file named
ACME.jsonin theC:\Reportsfolder. -
Creates a new VMware vSphere report JSON configuration file in the
C:\Reportsfolder, and overwrites the existingAsBuiltReport.VMware.vSphere.jsonfile.Sample VMware vSphere Report JSON Configuration{ "Report": { // The Report schema provides configuration of the report information. "Name": "VMware vSphere As Built Report", // The name of the As Built Report "Version": "1.0", // The report version "Status": "Released", // The report release status "Language": "es-ES", // The report content language (Default en-US) "ShowCoverPageImage": true, // Toggle to enable/disable the display of the cover page image "ShowTableOfContents": true, // Toggle to enable/disable table of contents "ShowHeaderFooter": true, // Toggle to enable/disable document headers & footers "ShowTableCaptions": true // Toggle to enable/disable table captions/numbering }, "Options": { // The Options schema allows certain options within the report to be toggled on or off. "ShowLicenseKeys": false, // Toggle to mask/unmask vSphere license keys "ShowVMSnapshots": true, // Toggle to enable/disable reporting of VM snapshots }, "InfoLevel": { // The InfoLevel schema allows configuration of each section of the report at a granular level. "_comment_": "0 = Disabled, 1 = Enabled / Summary, 2 = Adv Summary, 3 = Detailed, 4 = Adv Detailed, 5 = Comprehensive", "vCenter": 3, "Cluster": 3, "ResourcePool": 3, "VMHost": 3, "Network": 3, "vSAN": 3, "Datastore": 3, "DSCluster": 3, "VM": 2, "VUM": 3 }, "HealthCheck": { // The Healthcheck schema is used to toggle health checks on or off. "vCenter": { "Mail": true, "Licensing": true, "Alarms": true }, "Cluster": { "HAEnabled": true, "HAAdmissionControl": true, "HostFailureResponse": true, "HostMonitoring": true, "DatastoreOnPDL": true, "DatastoreOnAPD": true, "APDTimeOut": true, "vmMonitoring": true, "DRSEnabled": true, "DRSAutomationLevelFullyAuto": true, "PredictiveDRS": false, "DRSVMHostRules": true, "DRSRules": true, "vSANEnabled": false, "EVCEnabled": true, "VUMCompliance": true }, "VMHost": { "ConnectionState": true, "HyperThreading": true, "ScratchLocation": true, "IPv6": true, "UpTimeDays": true, "Licensing": true, "Certificates": true, "SSH": true, "ESXiShell": true, "NTP": true, "StorageAdapter": true, "NetworkAdapter": true, "LockdownMode": true, "VUMCompliance": true }, "vSAN": {}, "Datastore": { "CapacityUtilization": true }, "DSCluster": { "CapacityUtilization": true, "SDRSAutomationLevelFullyAuto": true }, "VM": { "PowerState": true, "ConnectionState": true, "CpuHotAdd": true, "CpuHotRemove": true, "MemoryHotAdd": true, "ChangeBlockTracking": true, "SpbmPolicyCompliance": true, "VMToolsStatus": true, "VMSnapshots": true } } }
Modifying Configuration Files
After creating a configuration file, you can edit it with any text editor to customise settings:
Example: Create a Summary-Only Report
{
"InfoLevel": {
"vCenter": 1,
"Cluster": 1,
"VMHost": 1,
"VM": 1,
"Network": 0, // Skip network section
"vSAN": 0, // Skip vSAN section
"Datastore": 1
}
}
Example: Detailed Cluster and Host Information Only
{
"InfoLevel": {
"vCenter": 1,
"Cluster": 3, // Detailed cluster info
"VMHost": 3, // Detailed host info
"VM": 0, // Skip VMs
"Network": 0,
"vSAN": 0,
"Datastore": 1
}
}
Example: Disable Specific Health Checks
{
"HealthCheck": {
"VMHost": {
"SSH": false, // Don't check SSH status
"ESXiShell": false, // Don't check ESXi Shell status
"NTP": true, // Do check NTP
"Licensing": true // Do check licensing
}
}
}
Using Configuration Files
Reference your customised configuration file when generating reports:
New-AsBuiltReport -Report VMware.vSphere -Target vcenter.example.com `
-Credential $Cred -ReportConfigFilePath 'C:\Configs\VMware.vSphere-Summary.json' `
-OutputFolderPath 'C:\Reports'
Create different configurations for different scenarios:
# Quick summary for weekly review
New-AsBuiltReport -Report VMware.vSphere -Target vcenter.example.com `
-Credential $Cred -ReportConfigFilePath 'C:\Configs\vSphere-Weekly.json'
# Comprehensive audit report
New-AsBuiltReport -Report VMware.vSphere -Target vcenter.example.com `
-Credential $Cred -ReportConfigFilePath 'C:\Configs\vSphere-Audit.json' `
-EnableHealthCheck
See Also
- New-AsBuiltReport - Generate as-built configuration reports
- New-AsBuiltConfig - Create core configuration files
- FAQ - How do I customise report detail? - InfoLevel guide
- Troubleshooting - Using InfoLevel to isolate issues - Troubleshooting with InfoLevel
- Report Modules - Available report modules and their specific options