This commit is contained in:
Edmond Gebara 2026-07-07 12:27:41 +02:00
parent 9e18f320cd
commit 99c1510a34
36 changed files with 57279 additions and 2052 deletions

View file

@ -1,7 +1,7 @@
function analyzeADObjects
{
param
Param
(
[Parameter(Mandatory = $false, Position = 0)]
[bool] $startParallel = $false
@ -18,7 +18,7 @@ function analyzeADObjects
if ($startParallel)
{
### outLogVerbose 'if ($startParallel) -> true'
# outLogVerbose 'if ($startParallel) -> true'
Start-ThreadJob -ScriptBlock { $adObjectsOrganisation += analyzeADObjectsByType $FI.TypeTagOrganisation}
Start-ThreadJob -ScriptBlock { $adObjectsAppAccess += analyzeADObjectsByType $FI.TypeTagAppAccess}
Start-ThreadJob -ScriptBlock { $adObjectsFilesystemAccess += analyzeADObjectsByType $FI.TypeTagFilesystemAccess}
@ -28,7 +28,7 @@ function analyzeADObjects
}
else
{
### outLogVerbose 'else -> true (if/elseif ($startParallel) -> false)'
# outLogVerbose 'else -> true (if/elseif ($startParallel) -> false)'
$adObjectsOrganisation += analyzeADObjectsByType $FI.TypeTagOrganisation
$adObjectsAppAccess += analyzeADObjectsByType $FI.TypeTagAppAccess
$adObjectsFilesystemAccess += analyzeADObjectsByType $FI.TypeTagFilesystemAccess
@ -54,7 +54,7 @@ function analyzeDirectoryPaths
outLog $rootPath
foreach ($directoryEntry in $DirectoriesFilePathEntries)
{
outLogVerbose 'foreach $directoryEntry in $DirectoriesFilePathEntries:' $directoryEntry.Verzeichnisname
outLog ('foreach $directoryEntry in $DirectoriesFilePathEntries: ' + $directoryEntry.Verzeichnisname)
$path = [regex]::escape($directoryEntry.Verzeichnisname)
$restPath = $path.Replace($rootPath, "")
outLog $restPath
@ -63,7 +63,7 @@ function analyzeDirectoryPaths
function analyzeADObjectsByType
{
param
Param
(
[Parameter(Mandatory = $true, Position = 0)]
[String] $typeTag
@ -76,93 +76,93 @@ function analyzeADObjectsByType
foreach ($adObject in $ADObjects)
{
outLogVerbose 'foreach $adObject in $ADObjects:' $adObject.ObjectName
if (-not ($adObject.Description))
outLog ('foreach $adObject in $ADObjects: ' + $adObject.ObjectName)
if (-Not ($adObject.Description))
{
### outLogVerbose 'if (-Not ($adObject.Description)) -> true'
# outLogVerbose 'if (-Not ($adObject.Description)) -> true'
$adObject.Description = $Config.EmptyDescription
}
if ($typeTag -ieq $FI.TypeTagAppConfiguration)
{
### outLogVerbose 'if ($typeTag -ieq $FI.TypeTagAppConfiguration) -> true'
# outLogVerbose 'if ($typeTag -ieq $FI.TypeTagAppConfiguration) -> true'
if ($adObject.OU -cmatch $FI.RelevantGroups.AppConfiguration.Filter)
{
### outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.AppConfiguration.Filter) -> true'
# outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.AppConfiguration.Filter) -> true'
$userMemberShips = getAllUserMemberships $adObject
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.AppConfiguration.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adGroupObjects += $adObjectEntry
$counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) )
{
### outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
# outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break
}
}
}
elseif ($typeTag -ieq $FI.TypeTagAppAccess)
{
### outLogVerbose 'elseif ($typeTag -ieq $FI.TypeTagAppAccess) -> true'
# outLogVerbose 'elseif ($typeTag -ieq $FI.TypeTagAppAccess) -> true'
if ($adObject.OU -cmatch $FI.RelevantGroups.AppAccess.Filter)
{
### outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.AppAccess.Filter) -> true'
# outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.AppAccess.Filter) -> true'
$userMemberShips = getAllUserMemberships $adObject
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.AppAccess.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adGroupObjects += $adObjectEntry
$counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) )
{
### outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
# outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break
}
}
}
elseif ($typeTag -ieq $FI.TypeTagFileSystemAccess)
{
### outLogVerbose 'elseif ($typeTag -ieq $FI.TypeTagFileSystemAccess) -> true'
# outLogVerbose 'elseif ($typeTag -ieq $FI.TypeTagFileSystemAccess) -> true'
if ($adObject.OU -cmatch $FI.RelevantGroups.FilesystemAccess.Filter)
{
### outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.FilesystemAccess.Filter) -> true'
# outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.FilesystemAccess.Filter) -> true'
$userMemberShips = getAllUserMemberships $adObject
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.FilesystemAccess.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adGroupObjects += $adObjectEntry
$counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) )
{
### outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
# outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break
}
}
}
elseif ($typeTag -ieq $FI.TypeTagOrganisation)
{
### outLogVerbose 'elseif ($typeTag -ieq $FI.TypeTagOrganisation) -> true'
# outLogVerbose 'elseif ($typeTag -ieq $FI.TypeTagOrganisation) -> true'
if ($adObject.OU -cmatch $FI.RelevantGroups.Organisation.Filter)
{
### outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.Organisation.Filter) -> true'
# outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.Organisation.Filter) -> true'
$userMemberShips = getAllUserMemberships $adObject
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.Organisation.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adGroupObjects += $adObjectEntry
$counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) )
{
### outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
# outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break
}
}
}
elseif ($typeTag -ieq $FI.TypeTagSecurity)
{
### outLogVerbose 'elseif ($typeTag -ieq $FI.TypeTagSecurity) -> true'
# outLogVerbose 'elseif ($typeTag -ieq $FI.TypeTagSecurity) -> true'
if ($adObject.OU -cmatch $FI.RelevantGroups.Security.Filter)
{
### outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.Security.Filter) -> true'
# outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.Security.Filter) -> true'
$userMemberShips = getAllUserMemberships $adObject
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.Security.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adGroupObjects += $adObjectEntry
$counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) )
{
### outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
# outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break
}
}