change: Get-Action Testing-Refactor export

This commit is contained in:
DrIOS
2024-07-07 12:48:39 -05:00
parent 17647d7180
commit e86c61d221
3 changed files with 62 additions and 34 deletions

View File

@@ -0,0 +1,33 @@
function Get-AuditMailboxDetail {
[cmdletBinding()]
param (
[Parameter(Mandatory = $true)]
[String]$Details,
[Parameter(Mandatory = $true)]
[String]$Version
)
process {
switch ($Version) {
"6.1.2" { [string]$VersionText = "No M365 E3 licenses found."}
"6.1.3" { [string]$VersionText = "No M365 E5 licenses found."}
}
if ($details -ne $VersionText ) {
$csv = $details | ConvertFrom-Csv -Delimiter '|'
}
else {
$csv = $null
}
if ($null -ne $csv) {
foreach ($row in $csv) {
$row.AdminActionsMissing = (Get-Action -AbbreviatedActions $row.AdminActionsMissing.Split(',') -ReverseActionType Admin -Version $Version) -join ','
$row.DelegateActionsMissing = (Get-Action -AbbreviatedActions $row.DelegateActionsMissing.Split(',') -ReverseActionType Delegate -Version $Version ) -join ','
$row.OwnerActionsMissing = (Get-Action -AbbreviatedActions $row.OwnerActionsMissing.Split(',') -ReverseActionType Owner -Version $Version ) -join ','
}
$newObjectDetails = $csv
}
else {
$newObjectDetails = $details
}
return $newObjectDetails
}
}

View File

@@ -109,44 +109,12 @@ function Export-M365SecurityAuditTable {
switch ($test) { switch ($test) {
"6.1.2" { "6.1.2" {
$details = $auditResult.Details $details = $auditResult.Details
if ($details -ne "No M365 E3 licenses found.") { $newObjectDetails = Get-AuditMailboxDetail -Details $details -Version '6.1.2'
$csv = $details | ConvertFrom-Csv -Delimiter '|'
}
else {
$csv = $null
}
if ($null -ne $csv) {
foreach ($row in $csv) {
$row.AdminActionsMissing = (Get-Action -AbbreviatedActions $row.AdminActionsMissing.Split(',') -ReverseActionType Admin -Version '6.1.2') -join ','
$row.DelegateActionsMissing = (Get-Action -AbbreviatedActions $row.DelegateActionsMissing.Split(',') -ReverseActionType Delegate -Version '6.1.2' ) -join ','
$row.OwnerActionsMissing = (Get-Action -AbbreviatedActions $row.OwnerActionsMissing.Split(',') -ReverseActionType Owner -Version '6.1.2' ) -join ','
}
$newObjectDetails = $csv
}
else {
$newObjectDetails = $details
}
$results += [PSCustomObject]@{ TestNumber = $test; Details = $newObjectDetails } $results += [PSCustomObject]@{ TestNumber = $test; Details = $newObjectDetails }
} }
"6.1.3" { "6.1.3" {
$details = $auditResult.Details $details = $auditResult.Details
if ($details -ne "No M365 E5 licenses found.") { $newObjectDetails = Get-AuditMailboxDetail -Details $details -Version '6.1.3'
$csv = $details | ConvertFrom-Csv -Delimiter '|'
}
else {
$csv = $null
}
if ($null -ne $csv) {
foreach ($row in $csv) {
$row.AdminActionsMissing = (Get-Action -AbbreviatedActions $row.AdminActionsMissing.Split(',') -ReverseActionType Admin -Version '6.1.3') -join ','
$row.DelegateActionsMissing = (Get-Action -AbbreviatedActions $row.DelegateActionsMissing.Split(',') -ReverseActionType Delegate -Version '6.1.3') -join ','
$row.OwnerActionsMissing = (Get-Action -AbbreviatedActions $row.OwnerActionsMissing.Split(',') -ReverseActionType Owner -Version '6.1.3') -join ','
}
$newObjectDetails = $csv
}
else {
$newObjectDetails = $details
}
$results += [PSCustomObject]@{ TestNumber = $test; Details = $newObjectDetails } $results += [PSCustomObject]@{ TestNumber = $test; Details = $newObjectDetails }
} }
Default { Default {

View File

@@ -0,0 +1,27 @@
$ProjectPath = "$PSScriptRoot\..\..\.." | Convert-Path
$ProjectName = ((Get-ChildItem -Path $ProjectPath\*\*.psd1).Where{
($_.Directory.Name -match 'source|src' -or $_.Directory.Name -eq $_.BaseName) -and
$(try { Test-ModuleManifest $_.FullName -ErrorAction Stop } catch { $false } )
}).BaseName
Import-Module $ProjectName
InModuleScope $ProjectName {
Describe Get-PrivateFunction {
Context 'Default' {
BeforeEach {
$return = Get-PrivateFunction -PrivateData 'string'
}
It 'Returns a single object' {
($return | Measure-Object).Count | Should -Be 1
}
It 'Returns a string based on the parameter PrivateData' {
$return | Should -Be 'string'
}
}
}
}