Domain Detective

API Reference

Class

CmdletExportSecurityReport

Namespace DomainDetective.PowerShell
Assembly DomainDetective.PowerShell
Implements
IDisposable
Modifiers sealed
Attributes
Cmdlet("Export", "DDSecurityReport", DefaultParameterSetName = "Default") Alias(["New-DDSecurityReport"])

Composes a security report (Word/HTML) from pipeline view objects (SPF/DKIM/DMARC).

Inheritance

Examples

Compose SPF+DMARC across two domains.


Test-DDEmailSpfRecord -DomainName contoso.com, fabrikam.com |
Test-DDEmailDmarcRecord -DomainName contoso.com, fabrikam.com |
Export-DDSecurityReport -ExportFormat Word -ExportPath ".\\Reports" -OpenReport
        

Inline, positional ScriptBlock (no -Compose switch).


Export-DDSecurityReport -ExportFormat Markdown -ExportPath ".\\Reports" {
  Test-DDEmailSpfRecord  -DomainName contoso.com,fabrikam.com
  Test-DDEmailDkimRecord -DomainName contoso.com,fabrikam.com
  Test-DDEmailDmarcRecord -DomainName contoso.com,fabrikam.com
}
        

Pipeline + inline together (pipeline binds to InputObject, block binds to Compose).


$views = Test-DDEmailSpfRecord -DomainName contoso.com,fabrikam.com
$views | Export-DDSecurityReport -ExportFormat Markdown -ExportPath ".\\Reports" {
  Test-DDEmailDmarcRecord -DomainName contoso.com,fabrikam.com
}
        

Preserve input domain order and force a custom section order.


Export-DDSecurityReport -ExportFormat Html -ExportPath ".\\Reports" -DomainOrder Input `
  -SectionOrderMode Custom -SectionOrder MX,SPF,DMARC {
  Test-DDEmailSpfRecord   -DomainName contoso.com,fabrikam.com
  Test-DDEmailDmarcRecord -DomainName contoso.com,fabrikam.com
}
        

Constructors

Methods

EndProcessingAsync() #

Generates the report at the end of the pipeline.

ProcessRecordAsync() #

Collects pipeline inputs for composition.

Properties

public ReportScope Scope { get; set; } #
Parameter(Mandatory = false)

Detail scope for section writers.

public SwitchParameter ShowInfoFindings { get; set; } #
Parameter(Mandatory = false)

Include Info-level findings in sections when supported.

public String ProviderHelpPreset { get; set; } #
Parameter(Mandatory = false) ValidateSet(["Off", "Minimal", "Standard", "Detailed"])
public Hashtable ProviderHelpOptions { get; set; } #
Parameter(Mandatory = false)
public ScriptBlock Compose { get; set; } #
Parameter(Mandatory = false, ParameterSetName = "Inline", Position = 0)

Inline script block used to generate additional input for composition.

public String Title { get; set; } #
Parameter(Mandatory = false)

Override document title for this export run.

public String Subject { get; set; } #
Parameter(Mandatory = false)

Override document subject/description for this export run.

public String Category { get; set; } #
Parameter(Mandatory = false)

Override document category for this export run.

public String Keywords { get; set; } #
Parameter(Mandatory = false)

Override document keywords (comma-separated) for this export run.

public String Creator { get; set; } #
Parameter(Mandatory = false)

Override document creator/author for this export run.

public String HtmlProfile { get; set; } #
Parameter(Mandatory = false) ValidateSet(["Document", "Dashboard"])
public String ExcelProfile { get; set; } #
Parameter(Mandatory = false) ValidateSet(["Workbook", "Dashboard"])
public String DomainOrder { get; set; } #
Parameter(Mandatory = false) ValidateSet(["Alphabetical", "Input"])
public String SectionOrderMode { get; set; } #
Parameter(Mandatory = false) ValidateSet(["Canonical", "Input", "Custom"])
public String[] SectionOrder { get; set; } #
Parameter(Mandatory = false)
public Nullable<Int32> SummaryColumnCap { get; set; } #
Parameter(Mandatory = false) ValidateRange(1, 12)

Max status columns in the Word executive summary table.

Fields

public Object InputObject #
Parameter(Mandatory = false, ParameterSetName = "Default", Position = 0, ValueFromPipeline = true) Parameter(Mandatory = false, ParameterSetName = "Inline", Position = 1, ValueFromPipeline = true)

Pipeline input to compose into the report.

{{ include "footer" }}