Skip to content

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 -Force to 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

  1. Creates a new NetApp ONTAP report JSON configuration file in the C:\Reports folder.

    Example 1
    New-AsBuiltReportConfig -Report 'NetApp.ONTAP' -Folderpath 'C:\Reports'
    
  2. Creates a new Microsoft Active Directory report JSON configuration file named ACME.json in the C:\Reports folder.

    Example 2
    New-AsBuiltReportConfig -Report 'Microsoft.AD' -Filename 'ACME' -Folderpath 'C:\AsBuiltReport'
    
  3. Creates a new VMware vSphere report JSON configuration file in the C:\Reports folder, and overwrites the existing AsBuiltReport.VMware.vSphere.json file.

    Example 3
    New-AsBuiltReportConfig -Report 'VMware.vSphere' -Folderpath 'C:\Reports' -Force
    
    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

Summary report configuration
{
  "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

Focused detailed report
{
  "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

Selective 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:

Using a custom report configuration
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:

Multiple report configurations
# 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