Outputs/output-config.ps1
|
using module "..\ORCA.psm1" class config : ORCAOutput { $OutputDirectory=$null json() { $this.Name="Config" } RunOutput($Checks,$Collection,[ORCAConfigLevel]$AssessmentLevel) { # Write to file if($null -eq $this.OutputDirectory) { $OutputDir = "$($this.DefaultOutputDirectory)\Config" } else { $OutputDir = "$($this.OutputDirectory)\Config" } # Force create config dir New-Item -ItemType Directory -Force $OutputDir $Tenant = $(($Collection["AcceptedDomains"] | Where-Object {$_.InitialDomain -eq $True}).DomainName -split '\.')[0] $ReportFileName = "ORCA-$($tenant)-$(Get-Date -Format 'yyyyMMddHHmm')" $OutputFileJSON = "$($OutputDir)\$($ReportFileName).json" $OutputFileXML = "$($OutputDir)\$($ReportFileName).xml" # Pump out xml version $Collection | Export-CliXml $OutputFileXML # Remove custom added collection components $Collection.Remove("PolicyStates") $Collection.Remove("AnyPolicyState") $Collection | ConvertTo-Json -Depth 100 | Out-File -FilePath $OutputFileJSON $this.Completed = $True $this.Result = $OutputFileXML } } |