changed: verboseoutlog to outlog (reducing runtime)

This commit is contained in:
Edmond Gebara 2026-07-06 22:19:54 +02:00
parent 9acdffdbb8
commit 9e18f320cd
9 changed files with 434 additions and 437 deletions

View file

@ -37,7 +37,7 @@ function getObjectMemberships
}
else
{
outLogVerbose 'else -> true (if/elseif (?) -> false)'
### outLogVerbose 'else -> true (if/elseif (?) -> false)'
@($bucket)
}
@ -60,7 +60,7 @@ function getAllUserMemberships
$groupMemberships = @(getObjectMemberships $adObjectEntry.ObjectName "group" "group")
foreach ($groupMembership in $groupMemberships)
{
outLogVerbose 'foreach $groupMembership in $groupMemberships:' $groupMembership.MemberName
### outLogVerbose 'foreach $groupMembership in $groupMemberships:' $groupMembership.MemberName
$result.AddRange(@(getObjectMemberships $groupMembership.MemberName "user" "group"))
}
return @($result)
@ -81,7 +81,7 @@ function getUsersByMemberGroup
}
else
{
outLogVerbose 'else -> true (if/elseif (?) -> false)'
### outLogVerbose 'else -> true (if/elseif (?) -> false)'
@($bucket)
}
return $result
@ -118,18 +118,18 @@ function newObjectMembershipsIndex
foreach ($entry in $ADObjectMemberships)
{
outLogVerbose 'foreach $entry in $ADObjectMemberships:' $entry.GroupName
### outLogVerbose 'foreach $entry in $ADObjectMemberships:' $entry.GroupName
$key = getMembershipIndexKey $($entry.GroupName) $($entry.MemberClass)
$key0 = "$($entry.GroupName)`0$($entry.MemberClass)".ToLowerInvariant()
if (-not($key -eq $key0))
{
outLogVerbose 'if (-not($key -eq $key0)) -> true'
### outLogVerbose 'if (-not($key -eq $key0)) -> true'
throw "this is BAAAD"
}
$bucket = $index[$key]
if ($null -eq $bucket)
{
outLogVerbose 'if ($null -eq $bucket) -> true'
### outLogVerbose 'if ($null -eq $bucket) -> true'
$bucket = [System.Collections.Generic.List[object]]::new()
$index[$key] = $bucket
}
@ -152,17 +152,17 @@ function getRoleType
$relevantRoleTypes = $SPK.GroupManagementMappings | Where-Object {$_.OU -ieq $typeTag} | Sort-Object { [int]$_.Order }
foreach ($relevantRoleType in $relevantRoleTypes)
{
outLogVerbose 'foreach $relevantRoleType in $relevantRoleTypes:' $relevantRoleType.TypeName
### outLogVerbose 'foreach $relevantRoleType in $relevantRoleTypes:' $relevantRoleType.TypeName
if ($adObjectEntry.OldName -cmatch $relevantRoleType.TagRegExp)
{
outLogVerbose 'if ($adObjectEntry.OldName -cmatch $relevantRoleType.TagRegExp) -> true'
### outLogVerbose 'if ($adObjectEntry.OldName -cmatch $relevantRoleType.TagRegExp) -> true'
$roleType = $relevantRoleType.TypeName
break
}
}
if (($typeTag -ieq $FI.TypeTagSecurity) -and ($roleType -ieq "unknown"))
{
outLogVerbose 'if (($typeTag -ieq $FI.TypeTagSecurity) -and ($roleType -ieq "unknown")) -> true'
### outLogVerbose 'if (($typeTag -ieq $FI.TypeTagSecurity) -and ($roleType -ieq "unknown")) -> true'
$roleType = "GPO"
}
return $roletype
@ -177,7 +177,7 @@ function buildPrefixMatcher
if (-not (Test-Path $CsvPath))
{
outLogVerbose 'if (-not (Test-Path $CsvPath)) -> true'
### outLogVerbose 'if (-not (Test-Path $CsvPath)) -> true'
throw "Prefix CSV not found: $CsvPath"
}
@ -185,11 +185,11 @@ function buildPrefixMatcher
foreach ($row in $SPK.ProfilPrefixes)
{
outLogVerbose 'foreach $row in $SPK.ProfilPrefixes:' $row
### outLogVerbose 'foreach $row in $SPK.ProfilPrefixes:' $row
$prefix = $row.Prefix
if ([string]::IsNullOrEmpty($prefix))
{
outLogVerbose 'if ([string]::IsNullOrEmpty($prefix)) -> true'
### outLogVerbose 'if ([string]::IsNullOrEmpty($prefix)) -> true'
continue
}
@ -197,7 +197,7 @@ function buildPrefixMatcher
$bucket = $null
if (-not $byLength.TryGetValue($len, [ref] $bucket))
{
outLogVerbose 'if (-not $byLength.TryGetValue($len, [ref] $bucket)) -> true'
### outLogVerbose 'if (-not $byLength.TryGetValue($len, [ref] $bucket)) -> true'
$bucket = [System.Collections.Generic.HashSet[string]]::new([System.StringComparer]::Ordinal)
$byLength[$len] = $bucket
}
@ -223,24 +223,24 @@ function testKnownPrefixes
if ([string]::IsNullOrEmpty($Value))
{
outLogVerbose 'if ([string]::IsNullOrEmpty($Value)) -> true'
### outLogVerbose 'if ([string]::IsNullOrEmpty($Value)) -> true'
return $false
}
$valueLen = $Value.Length
foreach ($len in $Matcher.Lengths)
{
outLogVerbose 'foreach $len in $Matcher.Lengths:' $len
### outLogVerbose 'foreach $len in $Matcher.Lengths:' $len
if ($len -gt $valueLen)
{
outLogVerbose 'if ($len -gt $valueLen) -> true'
### outLogVerbose 'if ($len -gt $valueLen) -> true'
continue
}
$candidate = $Value.Substring(0, $len)
$bucket = $Matcher.ByLength[$len]
if ($bucket.Contains($candidate))
{
outLogVerbose 'if ($bucket.Contains($candidate)) -> true'
### outLogVerbose 'if ($bucket.Contains($candidate)) -> true'
return $true
}
}