changed: logging

changed: sort and deduplicate output
changed: "GruppenVerwaltungNEU..." output
This commit is contained in:
Edmond Gebara 2026-07-06 06:50:50 +02:00
parent b84b5a73a1
commit a5e28a7f52
12 changed files with 785 additions and 1280 deletions

3
.vscode/launch.json vendored
View file

@ -10,8 +10,7 @@
"request": "launch", "request": "launch",
"script": "${workspaceFolder}/Process-ADObjects.ps1", "script": "${workspaceFolder}/Process-ADObjects.ps1",
"args": ["R125"], "args": ["R125"],
"preLaunchTask": "clean-workdirs", "preLaunchTask": "clean-workdirs"
"postDebugTask": "normalize-output"
}, },
{ {
"name": "Launch Measure Main Script", "name": "Launch Measure Main Script",

139
CLAUDE.md Normal file
View file

@ -0,0 +1,139 @@
# CLAUDE.md — SparKURS / Process-ADObjects
Briefing for Claude sessions on this repository. Read fully before touching code.
## Purpose
PowerShell system processing Active Directory group memberships for Sparkassen
banking institutes (currently R125, Y015). Reads AD export CSVs, transforms them
per institute, and writes CSV files consumed by (a) the DAW GUI import baskets
("Basket.Import.ADGroup.*") and (b) KNIME workflows. Runtime target: ~3 minutes
per institute (down from 10 h; do not regress this).
## File map
| File | Role |
|---|---|
| `Process-ADObjects.ps1` | Main entry, loads config, dot-sources the rest |
| `Process-ADObjects-Configuration.ps1` | `$Config` hashtable: institutes, GroupManagementMappings, flags (`TestMode`, `Verbose`, ...). Pure data, no logic |
| `Process-ADObjects-Base.ps1` | Core lookups: membership index (`newObjectMembershipsIndex`, `getObjectMemberships`, `getUsersByMemberGroup`), `getRoleType`, prefix matcher (`buildPrefixMatcher`, `testKnownPrefixes`) |
| `Process-ADObjects-Utility.ps1` | Logging (`openLog`/`closeLog`/`outLog`/`outLogVerbose`), input checks, exception helpers, `removeDuplicatesFromSortedList` |
| `Process-ADObjects-Work.ps1` | Institute dispatch |
| `Process-ADObjects-Work-R125.ps1` / `-Y015.ps1` | Per-institute processing. Structurally identical copies (deduplication planned). Sections: FileSystemAccess, AppAccess, AppConfiguration, Organisation, Security, Anwenderrollen; then post-processing (sort → dedup → Neu derivation → file writes) |
| `Process-ADObjects-Analyze.ps1` | AD object analysis. Known incomplete; cleanup planned |
| `Process-ADObjects-Test.ps1` | Test scaffolding |
## Conventions (mandatory)
- **English** for all code, comments, identifiers, log messages. German only in chat.
- **Allman** brace style (opening brace on its own line).
- **`utf8NoBom`** for every file output; LF is fine (runs on macOS/pwsh 7).
- No `Write-Host` in processing code — use `outLog` / `outLogVerbose`.
Exceptions: the output helpers themselves (`outLog`, `outScreen`, `dumpVar`,
`writeExceptionInfo*`).
- Institute code is parameterized via `$SPKID` (e.g. "R125") and `$SPKNO`
(e.g. "125"). No hardcoded institute literals in Work files.
- Code is currently intentionally comment-free (old comments stripped 2026-07;
re-commenting planned). Bug history lives in git and in this file.
## Logging system
- `outLog <args...>` — always-on log line; args are joined with **newline**.
For a single-line message concatenate in parentheses:
`outLog ("found " + $n + " entries")`.
- `outLog ... -ToScreen $false` — file only. Named parameter only; positional
args all go to the message (`PositionalBinding=$false` +
`ValueFromRemainingArguments`).
- `outLogVerbose <args...>` — trace layer, gated by `$Config.Verbose`, never to
screen. ~440 call sites instrument every loop iteration and if/elseif/else
branch. With `Verbose = $true` a full run writes millions of lines — use
`TestMode` for verbose runs.
- Writer: persistent `StreamWriter` (UTF-8 no BOM, append, `AutoFlush=$true`),
auto-opens on first `outLog` and auto-reopens when `$LogFileName` changes.
`closeLog` at end is good style, not required. `tail -f` on the log works.
- Timestamp format is `HH:mm:ss.fff`. (`".mmm"` was a historic bug: minutes,
not milliseconds. Do not reintroduce.)
## Output post-processing (per Work file, end of run)
1. `Sort($ordinalComparer)` on all four collections
(`DAWGruppenAnlegenOutList`, `DAWGruppenverwaltungOutList`,
`KURSSollProfileOutList`, `KURSIstMitarbeiterProfileOutList`).
2. `removeDuplicatesFromSortedList` on each (logs removed count per list).
3. `DAWGruppenverwaltungNeuOutList` is **derived** from the sorted Out list —
never written inline. Rule: rows with empty `Accounts.Add` pass through;
first row per `GUIADGroup.LDAP` block keeps all columns; subsequent rows
carry only the account (`;;;;;<acct>;;;;`).
Open point: same account via multiple Quellgruppen still yields duplicate
reduced rows within a block (3-line fix pending DAW import behavior).
## Verification workflow
1. Syntax check before any run (parser API, no execution):
`[System.Management.Automation.Language.Parser]::ParseFile(...)` per file.
On error lists, fix the **bottom-most concrete** error (e.g. "Unexpected
token 'X'"); "Missing closing brace" messages above it are usually cascade.
2. Output comparison is always a **sorted multiset compare**, never a join:
`diff <(tail -n +3 REF.csv | sort -u) <(tail -n +3 NEW.csv | sort)`
(`+3`: skip Basket preamble + header; `-u` on the reference because current
code dedups and old references contain exact duplicates, e.g. 362 in the
R125 reference).
3. Reference files written under Windows PowerShell 5.1 have **UTF-8 BOM +
CRLF** and a semicolon-padded preamble (`ManageMembers;;;;;;;;;`); current
output has no BOM, LF, unpadded preamble. Normalize before comparing.
## Trap registry (hard-won; check before "optimizing")
- **PS 5.1 vs pwsh 7 divergences:**
- `Sort-Object -Property "Order"` on hashtables silently does NOT sort on
5.1. Always use scriptblock form: `Sort-Object { [int]$_.Order }`.
- `-Encoding utf8` writes BOM on 5.1, no BOM on 7. Always specify
`utf8NoBom` (or `utf8BOM` deliberately).
- Reference outputs originate from 5.1 → see verification §3.
- **R125 Proxy rules have `Order = 130/140`** (were 0/1). Reason: reference
behavior classifies `GGX-Proxy*` as `GPO`; on pwsh 7 a working sort would let
the (non-FI-Doku) Proxy rules win. Other institutes still have the 0/1
pattern — same trap waits there when validating against 5.1-era references.
- **`getUsersByMemberGroup` must index `$ADObjectMembershipsIndexed`** (the
hashtable). Indexing the flat array with a string key fails silently
($null → all indirect memberships vanish). Cost us 157k rows once.
- **Both membership expansion branches need their `$users = ...` assignment.**
A deleted line in the AppAccess group branch silently dropped 83k rows
($users was stale from the FS section).
- **Out vs Neu list Add targets:** adding a line to the wrong collection
duplicated every FS creation row. The Neu list is derived now, but the same
copy-paste class applies to the four remaining lists.
- **Prefix filter (Anwenderrollen):** `R125GUX*`/`<SPKID>GUX*` objects fall
THROUGH (original cascade had an empty first branch). The explicit
`StartsWith` check preserves this regardless of the prefix CSV content.
- **`+` in argument mode is a literal argument**, not concatenation:
`outLog "a" + $b` passes three args. Parenthesize: `outLog ("a" + $b)`.
- **Adding named parameters to `$args`-style functions** breaks positional
callers. Pattern: `[CmdletBinding(PositionalBinding=$false)]` +
`[Parameter(ValueFromRemainingArguments)]`.
- **Institute porting:** check for bare `SPKNO`/`SPKID` (missing `$`) —
happened twice in Y015. `grep -P '[^$\w]SPK(NO|ID)\b'`.
- **Editor hazards:** regex replace across guard lines and format-on-save have
each corrupted a file (interleaved fragments, brace salad). Prefer scripted,
validated transforms; always `git diff` after merging delivered files;
replace whole files rather than hand-merging.
- **KNIME comparisons are fragile:** BOM breaks column autodetection; the
`DOMAIN\user` backslash can be eaten as escape char; join column pairing
drifts (Add vs Rem columns); duplicate keys break join semantics. Use the
shell/PowerShell multiset compare instead.
- **`Start-ThreadJob` scriptblocks don't write parent variables** — the
`$startParallel` path in Analyze never worked. Needs `Receive-Job` if ever
activated.
- **Empty `catch {}` blocks** exist in both Work files (Write-Host removed) —
exceptions are currently swallowed there; add log lines when instrumenting.
## Backlog
- Re-comment the codebase (fresh, English). Document at minimum: scriptblock
sort rationale, GUX fall-through, Proxy Order renumbering, Neu derivation.
- Deduplicate R125/Y015 into a shared parameterized core.
- TestMode: implement consistently across all sections.
- Analyze: rework (incomplete; parallel path broken by design).
- Decide: preamble semicolon padding for DAW import; Neu per-block account
dedup.
- Y015: first verification run against its 5.1-era reference still pending.

112
Process-ADObjects-Analyze.ps1 Executable file → Normal file
View file

@ -1,5 +1,6 @@
function analyzeADObjects { function analyzeADObjects
{
Param Param
( (
[Parameter(Mandatory = $false, Position = 0)] [Parameter(Mandatory = $false, Position = 0)]
@ -7,7 +8,7 @@ function analyzeADObjects {
) )
$start = Get-Date $start = Get-Date
outLog "started: analyzeADObjects at" $start.ToString("HH:mm:ss.mmm") outLog "started: analyzeADObjects at" $start.ToString("HH:mm:ss.fff")
$adObjectsOrganisation = @() $adObjectsOrganisation = @()
$adObjectsAppAccess = @() $adObjectsAppAccess = @()
@ -15,8 +16,9 @@ function analyzeADObjects {
$adObjectsAppConfiguration = @() $adObjectsAppConfiguration = @()
$adObjectsSecurity = @() $adObjectsSecurity = @()
if ($startParallel) { if ($startParallel)
#this stuff won´t work this way - missing globals !!! {
outLogVerbose 'if ($startParallel) -> true'
Start-ThreadJob -ScriptBlock { $adObjectsOrganisation += analyzeADObjectsByType $FI.TypeTagOrganisation} Start-ThreadJob -ScriptBlock { $adObjectsOrganisation += analyzeADObjectsByType $FI.TypeTagOrganisation}
Start-ThreadJob -ScriptBlock { $adObjectsAppAccess += analyzeADObjectsByType $FI.TypeTagAppAccess} Start-ThreadJob -ScriptBlock { $adObjectsAppAccess += analyzeADObjectsByType $FI.TypeTagAppAccess}
Start-ThreadJob -ScriptBlock { $adObjectsFilesystemAccess += analyzeADObjectsByType $FI.TypeTagFilesystemAccess} Start-ThreadJob -ScriptBlock { $adObjectsFilesystemAccess += analyzeADObjectsByType $FI.TypeTagFilesystemAccess}
@ -24,107 +26,143 @@ function analyzeADObjects {
Start-ThreadJob -ScriptBlock { $adObjectsSecurity += analyzeADObjectsByType $FI.TypeTagSecurity} Start-ThreadJob -ScriptBlock { $adObjectsSecurity += analyzeADObjectsByType $FI.TypeTagSecurity}
Get-Job | Wait-Job Get-Job | Wait-Job
} }
else { else
{
outLogVerbose 'else -> true (if/elseif ($startParallel) -> false)'
$adObjectsOrganisation += analyzeADObjectsByType $FI.TypeTagOrganisation $adObjectsOrganisation += analyzeADObjectsByType $FI.TypeTagOrganisation
$adObjectsAppAccess += analyzeADObjectsByType $FI.TypeTagAppAccess $adObjectsAppAccess += analyzeADObjectsByType $FI.TypeTagAppAccess
$adObjectsFilesystemAccess += analyzeADObjectsByType $FI.TypeTagFilesystemAccess $adObjectsFilesystemAccess += analyzeADObjectsByType $FI.TypeTagFilesystemAccess
$adObjectsAppConfiguration += analyzeADObjectsByType $FI.TypeTagAppConfiguration $adObjectsAppConfiguration += analyzeADObjectsByType $FI.TypeTagAppConfiguration
$adObjectsSecurity += analyzeADObjectsByType $FI.TypeTagSecurity $adObjectsSecurity += analyzeADObjectsByType $FI.TypeTagSecurity
} }
outlog "found " $adObjectsOrganisation.Count " entries of type " $FI.TypeTagOrganisation outLog ("found " + $adObjectsOrganisation.Count + " entries of type " + $FI.TypeTagOrganisation)
outlog "found " $adObjectsAppAccess.Count " entries of type " $FI.TypeTagAppAccess outLog ("found " + $adObjectsAppAccess.Count + " entries of type " + $FI.TypeTagAppAccess)
outlog "found " $adObjectsFilesystemAccess.Count " entries of type " $FI.TypeTagFilesystemAccess outLog ("found " + $adObjectsFilesystemAccess.Count + " entries of type " + $FI.TypeTagFilesystemAccess)
outlog "found " $adObjectsAppConfiguration.Count " entries of type " $FI.TypeTagAppConfiguration outLog ("found " + $adObjectsAppConfiguration.Count + " entries of type " + $FI.TypeTagAppConfiguration)
outlog "found " $adObjectsSecurity.Count " entries of type " $FI.TypeTagSecurity outLog ("found " + $adObjectsSecurity.Count + " entries of type " + $FI.TypeTagSecurity)
$end = Get-Date $end = Get-Date
outLog "finished: analyzeADObjects at " $end.ToString("HH:mm:ss.mmm") ", used " ($end - $start) outLog ("finished: analyzeADObjects at " + $end.ToString("HH:mm:ss.fff") + ", used " + ($end - $start))
} }
function analyzeDirectoryPaths { function analyzeDirectoryPaths
{
$header = "Verzeichnisname", "Normierter Pfad" , "Kontrolle" , "Endpunktname", "Verzeichnisart", "Verantwortlicher (Stelle oder Personalnummer)" , "Gruppe Lesen", "Gruppe Aendern", "Benutzer mit Leserecht", "Benutzer mit Aenderungsrecht", "Rollen mit Leserecht", "Rollen mit Aenderungsrecht" $header = "Verzeichnisname", "Normierter Pfad" , "Kontrolle" , "Endpunktname", "Verzeichnisart", "Verantwortlicher (Stelle oder Personalnummer)" , "Gruppe Lesen", "Gruppe Aendern", "Benutzer mit Leserecht", "Benutzer mit Aenderungsrecht", "Rollen mit Leserecht", "Rollen mit Aenderungsrecht"
$DirectoriesFilePathEntries = Get-Content -Path $DirectoriesInFilePath | Select-Object -Skip 1 | ConvertFrom-Csv -Delimiter ";" -Header $header $DirectoriesFilePathEntries = Get-Content -Path $DirectoriesInFilePath | Select-Object -Skip 1 | ConvertFrom-Csv -Delimiter ";" -Header $header
# \\V998DPVP.V998.INTERN\DFSRootP014$\P014\Daten\Ablage\GS\01010
# use slashes '/' as directory seperator to avoid backslash '\'-handling with
# $rootPath = [regex]::escape('\' + $SPK.RootDomainName + '.V998.INTERN\DFSRoot' + $Institut + '$\' + $Institut + '\Daten')
$rootPath = [regex]::escape('\' + $SPK.RootDomainName + '.V998.INTERN\DFSRoot' + $Institut + '$\' + $Institut + '\Daten') $rootPath = [regex]::escape('\' + $SPK.RootDomainName + '.V998.INTERN\DFSRoot' + $Institut + '$\' + $Institut + '\Daten')
outLog $rootPath outLog $rootPath
foreach ($directoryEntry in $DirectoriesFilePathEntries) { foreach ($directoryEntry in $DirectoriesFilePathEntries)
{
outLogVerbose 'foreach $directoryEntry in $DirectoriesFilePathEntries:' $directoryEntry.Verzeichnisname
$path = [regex]::escape($directoryEntry.Verzeichnisname) $path = [regex]::escape($directoryEntry.Verzeichnisname)
$restPath = $path.Replace($rootPath, "") $restPath = $path.Replace($rootPath, "")
# $restPath = $path.Substring($rootPath.length)
outLog $restPath outLog $restPath
} }
} }
function analyzeADObjectsByType { function analyzeADObjectsByType
{
Param Param
( (
[Parameter(Mandatory = $true, Position = 0)] [Parameter(Mandatory = $true, Position = 0)]
[String] $typeTag [String] $typeTag
) )
$start = Get-Date $start = Get-Date
outLog "started: analyzeADObjects type " $typeTag "at" $start.ToString("HH:mm:ss.mmm") outLog "started: analyzeADObjects type " $typeTag "at" $start.ToString("HH:mm:ss.fff")
$adGroupObjects = @() $adGroupObjects = @()
$counter = 1 $counter = 1
foreach ($adObject in $ADObjects) { foreach ($adObject in $ADObjects)
if (-Not ($adObject.Description)) { {
outLogVerbose 'foreach $adObject in $ADObjects:' $adObject.ObjectName
if (-Not ($adObject.Description))
{
outLogVerbose 'if (-Not ($adObject.Description)) -> true'
$adObject.Description = $Config.EmptyDescription $adObject.Description = $Config.EmptyDescription
} }
if ($typeTag -ieq $FI.TypeTagAppConfiguration) { if ($typeTag -ieq $FI.TypeTagAppConfiguration)
if ($adObject.OU -cmatch $FI.RelevantGroups.AppConfiguration.Filter) { {
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'
$userMemberShips = getAllUserMemberships $adObject $userMemberShips = getAllUserMemberships $adObject
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.AppConfiguration.ShortCut; Description = $adObject.Description; Users = $userMemberShips} $adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.AppConfiguration.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adGroupObjects += $adObjectEntry $adGroupObjects += $adObjectEntry
$counter++ $counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) ) { if ($IsTestMode -and ($counter -gt $Config.TestMode) )
{
outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break break
} }
} }
} }
elseif ($typeTag -ieq $FI.TypeTagAppAccess) { elseif ($typeTag -ieq $FI.TypeTagAppAccess)
if ($adObject.OU -cmatch $FI.RelevantGroups.AppAccess.Filter) { {
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'
$userMemberShips = getAllUserMemberships $adObject $userMemberShips = getAllUserMemberships $adObject
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.AppAccess.ShortCut; Description = $adObject.Description; Users = $userMemberShips} $adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.AppAccess.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adGroupObjects += $adObjectEntry $adGroupObjects += $adObjectEntry
$counter++ $counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) ) { if ($IsTestMode -and ($counter -gt $Config.TestMode) )
{
outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break break
} }
} }
} }
elseif ($typeTag -ieq $FI.TypeTagFileSystemAccess) { elseif ($typeTag -ieq $FI.TypeTagFileSystemAccess)
if ($adObject.OU -cmatch $FI.RelevantGroups.FilesystemAccess.Filter) { {
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'
$userMemberShips = getAllUserMemberships $adObject $userMemberShips = getAllUserMemberships $adObject
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.FilesystemAccess.ShortCut; Description = $adObject.Description; Users = $userMemberShips} $adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.FilesystemAccess.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adGroupObjects += $adObjectEntry $adGroupObjects += $adObjectEntry
$counter++ $counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) ) { if ($IsTestMode -and ($counter -gt $Config.TestMode) )
{
outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break break
} }
} }
} }
elseif ($typeTag -ieq $FI.TypeTagOrganisation) { elseif ($typeTag -ieq $FI.TypeTagOrganisation)
if ($adObject.OU -cmatch $FI.RelevantGroups.Organisation.Filter) { {
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'
$userMemberShips = getAllUserMemberships $adObject $userMemberShips = getAllUserMemberships $adObject
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.Organisation.ShortCut; Description = $adObject.Description; Users = $userMemberShips} $adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.Organisation.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adGroupObjects += $adObjectEntry $adGroupObjects += $adObjectEntry
$counter++ $counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) ) { if ($IsTestMode -and ($counter -gt $Config.TestMode) )
{
outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break break
} }
} }
} }
elseif ($typeTag -ieq $FI.TypeTagSecurity) { elseif ($typeTag -ieq $FI.TypeTagSecurity)
if ($adObject.OU -cmatch $FI.RelevantGroups.Security.Filter) { {
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'
$userMemberShips = getAllUserMemberships $adObject $userMemberShips = getAllUserMemberships $adObject
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.Security.ShortCut; Description = $adObject.Description; Users = $userMemberShips} $adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.Security.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adGroupObjects += $adObjectEntry $adGroupObjects += $adObjectEntry
$counter++ $counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) ) { if ($IsTestMode -and ($counter -gt $Config.TestMode) )
{
outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break break
} }
} }
@ -132,7 +170,7 @@ function analyzeADObjectsByType {
} }
$end = Get-Date $end = Get-Date
outLog "finished: analyzeADObjects type " $typeTag "at" $end.ToString("HH:mm:ss.mmm") ", used " ($end - $start) outLog "finished: analyzeADObjects type " $typeTag "at" $end.ToString("HH:mm:ss.fff") ", used " ($end - $start)
return $adGroupObjects return $adGroupObjects
} }

View file

@ -2,32 +2,18 @@
function writeHeaders function writeHeaders
{ {
################################################################
# --------------------------------------------------------------
# Header für $DAWGruppenAnlegenOutFilePath anlegen
# --------------------------------------------------------------
"Basket.Import.ADGroup.Create" | Out-File $DAWGruppenAnlegenOutFilePath -Encoding "utf8NoBOM" "Basket.Import.ADGroup.Create" | Out-File $DAWGruppenAnlegenOutFilePath -Encoding "utf8NoBOM"
"GUIMandator" + ";" + "GUIADGroup.Name" + ";" + "GUIADGroup.Description" + ";" + "GUIMandatorADGroupType" + ";" + "GUIADGroup.DisplayName" + ";" + "GUIProcessingNote" + ";" + "OldName" | Out-File $DAWGruppenAnlegenOutFilePath -Append -Encoding "utf8NoBom" "GUIMandator" + ";" + "GUIADGroup.Name" + ";" + "GUIADGroup.Description" + ";" + "GUIMandatorADGroupType" + ";" + "GUIADGroup.DisplayName" + ";" + "GUIProcessingNote" + ";" + "OldName" | Out-File $DAWGruppenAnlegenOutFilePath -Append -Encoding "utf8NoBom"
# --------------------------------------------------------------
# Header für $DAWGruppenverwaltungOutFilePath anlegen
# --------------------------------------------------------------
"Basket.Import.ADGroup.ManageMembers" | Out-File "$DAWGruppenverwaltungOutFilePath" -Encoding "utf8NoBom" "Basket.Import.ADGroup.ManageMembers" | Out-File "$DAWGruppenverwaltungOutFilePath" -Encoding "utf8NoBom"
"GUIMandator" + ";" + "GUIMandatorADGroupType" + ";" + "GUIADGroup.LDAP" + ";" + "GUIADGroup.ADGroups.Add.LDAPs" + ";" + "GUIADGroup.ADGroups.Rem.LDAPs" + ";" + "GUIADGroup.Accounts.Add.LDAPs" + ";" + "GUIADGroup.Accounts.Rem.LDAPs" + ";" + "GUIProcessingNote" + ";" + "ADObjectType" + ";" + "Quellgruppe" | Out-File $DAWGruppenverwaltungOutFilePath -Encoding "utf8NoBom" -Append "GUIMandator" + ";" + "GUIMandatorADGroupType" + ";" + "GUIADGroup.LDAP" + ";" + "GUIADGroup.ADGroups.Add.LDAPs" + ";" + "GUIADGroup.ADGroups.Rem.LDAPs" + ";" + "GUIADGroup.Accounts.Add.LDAPs" + ";" + "GUIADGroup.Accounts.Rem.LDAPs" + ";" + "GUIProcessingNote" + ";" + "ADObjectType" + ";" + "Quellgruppe" | Out-File $DAWGruppenverwaltungOutFilePath -Encoding "utf8NoBom" -Append
"Basket.Import.ADGroup.ManageMembers" | Out-File "$DAWGruppenverwaltungNeuOutFilePath" -Encoding "utf8NoBom" "Basket.Import.ADGroup.ManageMembers" | Out-File "$DAWGruppenverwaltungNeuOutFilePath" -Encoding "utf8NoBom"
"GUIMandator" + ";" + "GUIMandatorADGroupType" + ";" + "GUIADGroup.LDAP" + ";" + "GUIADGroup.ADGroups.Add.LDAPs" + ";" + "GUIADGroup.ADGroups.Rem.LDAPs" + ";" + "GUIADGroup.Accounts.Add.LDAPs" + ";" + "GUIADGroup.Accounts.Rem.LDAPs" + ";" + "GUIProcessingNote" + ";" + "ADObjectType" + ";" + "Quellgruppe" | Out-File $DAWGruppenverwaltungNeuOutFilePath -Encoding "utf8NoBom" -Append "GUIMandator" + ";" + "GUIMandatorADGroupType" + ";" + "GUIADGroup.LDAP" + ";" + "GUIADGroup.ADGroups.Add.LDAPs" + ";" + "GUIADGroup.ADGroups.Rem.LDAPs" + ";" + "GUIADGroup.Accounts.Add.LDAPs" + ";" + "GUIADGroup.Accounts.Rem.LDAPs" + ";" + "GUIProcessingNote" + ";" + "ADObjectType" + ";" + "Quellgruppe" | Out-File $DAWGruppenverwaltungNeuOutFilePath -Encoding "utf8NoBom" -Append
# --------------------------------------------------------------
# Header für $KURSSollProfile anlegen
# --------------------------------------------------------------
"Profilnummer;Name;Beschreibung;Profilverantwortliche OE/Stelle;Info;InfoKurs" | Out-File $KURSSollProfileOutFilePath -Encoding "utf8NoBom" "Profilnummer;Name;Beschreibung;Profilverantwortliche OE/Stelle;Info;InfoKurs" | Out-File $KURSSollProfileOutFilePath -Encoding "utf8NoBom"
# --------------------------------------------------------------
# Header für $IstMitarbeiterProfile anlegen
# --------------------------------------------------------------
"Personalnummer;;Profilnummer;Name Berechtigungsprofil" | Out-File "$KURSIstMitarbeiterProfileOutFilePath" -Encoding "utf8NoBom" "Personalnummer;;Profilnummer;Name Berechtigungsprofil" | Out-File "$KURSIstMitarbeiterProfileOutFilePath" -Encoding "utf8NoBom"
################################################################
} }
function getObjectMemberships function getObjectMemberships
@ -51,6 +37,7 @@ function getObjectMemberships
} }
else else
{ {
outLogVerbose 'else -> true (if/elseif (?) -> false)'
@($bucket) @($bucket)
} }
@ -73,34 +60,20 @@ function getAllUserMemberships
$groupMemberships = @(getObjectMemberships $adObjectEntry.ObjectName "group" "group") $groupMemberships = @(getObjectMemberships $adObjectEntry.ObjectName "group" "group")
foreach ($groupMembership in $groupMemberships) foreach ($groupMembership in $groupMemberships)
{ {
outLogVerbose 'foreach $groupMembership in $groupMemberships:' $groupMembership.MemberName
$result.AddRange(@(getObjectMemberships $groupMembership.MemberName "user" "group")) $result.AddRange(@(getObjectMemberships $groupMembership.MemberName "user" "group"))
} }
# it's the same, bad odd syntax
# return ,$result.ToArray()
return @($result) return @($result)
} }
function getUsersByMemberGroup function getUsersByMemberGroup
{ {
<#
.SYNOPSIS
Retrieves the user membership entries for a given group via the
prebuilt membership index (O(1) lookup, exact class match).
.PARAMETER GroupName
The group whose user members are requested (matched against GroupName).
.OUTPUTS
Array of matching membership entries (empty array if none).
Object references are preserved from the index.
#>
param param
( (
[Parameter(Mandatory = $true, Position = 0)] [Parameter(Mandatory = $true, Position = 0)]
[string] $GroupName [string] $GroupName
) )
# BUGFIX 2026-07-02: was indexing the flat array $ADObjectMemberships with a string
# key, which fails silently (non-terminating Int32 conversion error -> $null) and
# dropped ALL indirect (group-inherited) user memberships. Must use the hashtable.
$bucket = $ADObjectMembershipsIndexed[(getMembershipIndexKey $GroupName "user")] $bucket = $ADObjectMembershipsIndexed[(getMembershipIndexKey $GroupName "user")]
$result = if ($null -eq $bucket) $result = if ($null -eq $bucket)
{ {
@ -108,47 +81,17 @@ function getUsersByMemberGroup
} }
else else
{ {
outLogVerbose 'else -> true (if/elseif (?) -> false)'
@($bucket) @($bucket)
} }
return $result return $result
} }
# function getAllUserMemberships
# {
# param([Parameter(Mandatory, Position = 0)] $adObjectEntry)
# $result = [System.Collections.Generic.List[object]]::new()
# $result.AddRange(@(getObjectMemberships $adObjectEntry.ObjectName "user" "user"))
# $groupMemberships = @(getObjectMemberships $adObjectEntry.ObjectName "group" "group")
# foreach ($groupMembership in $groupMemberships)
# {
# $result.AddRange(@(getObjectMemberships $groupMembership.MemberName "user" "group"))
# }
# # ist beides gleich
# # return ,$result.ToArray()
# return @($result)
# }
# function getObjectMemberships
# {
# param
# (
# [Parameter(Mandatory = $true, Position = 0)]
# [String] $adObjectEntryName,
# [Parameter(Mandatory = $true, Position = 1)]
# [string] $memberShipType,
# [Parameter(Mandatory = $true, Position = 2)]
# [string] $memberShipOriginalType
# )
# $objectMemberships = @($ADObjectMemberships | Where-Object {($_.GroupName -ieq $adObjectEntryName) -and ($_.MemberClass -ieq $memberShipType)})
# # this is not very nice - we should only add members if they don´t exist - not just to set the values
# $objectMemberships | Add-Member -Force "Origin" $memberShipOriginalType
# $objectMemberships | Add-Member -Force "OriginName" $adObjectEntryName
# return $objectMemberships
# }
function getMembershipIndexKey function getMembershipIndexKey
{ {
@ -164,16 +107,6 @@ function getMembershipIndexKey
function newObjectMembershipsIndex function newObjectMembershipsIndex
{ {
<#
.SYNOPSIS
Builds a lookup index over membership entries for O(1) retrieval by
GroupName + MemberClass, replacing repeated linear Where-Object scans.
.PARAMETER ADObjectMemberships
The flat collection of membership entries to index.
.OUTPUTS
Hashtable mapping "<groupname>\0<memberclass>" (lowercased) to a
List[object] of the matching entries. Object references are preserved.
#>
param param
( (
[Parameter(Mandatory = $true, Position = 0)] [Parameter(Mandatory = $true, Position = 0)]
@ -185,16 +118,18 @@ function newObjectMembershipsIndex
foreach ($entry in $ADObjectMemberships) foreach ($entry in $ADObjectMemberships)
{ {
# NUL separator avoids key collisions between e.g. "ab"+"c" and "a"+"bc" outLogVerbose 'foreach $entry in $ADObjectMemberships:' $entry.GroupName
$key = getMembershipIndexKey $($entry.GroupName) $($entry.MemberClass) $key = getMembershipIndexKey $($entry.GroupName) $($entry.MemberClass)
$key0 = "$($entry.GroupName)`0$($entry.MemberClass)".ToLowerInvariant() $key0 = "$($entry.GroupName)`0$($entry.MemberClass)".ToLowerInvariant()
if (-not($key -eq $key0)) if (-not($key -eq $key0))
{ {
outLogVerbose 'if (-not($key -eq $key0)) -> true'
throw "this is BAAAD" throw "this is BAAAD"
} }
$bucket = $index[$key] $bucket = $index[$key]
if ($null -eq $bucket) if ($null -eq $bucket)
{ {
outLogVerbose 'if ($null -eq $bucket) -> true'
$bucket = [System.Collections.Generic.List[object]]::new() $bucket = [System.Collections.Generic.List[object]]::new()
$index[$key] = $bucket $index[$key] = $bucket
} }
@ -213,27 +148,23 @@ function getRoleType
[Parameter(Mandatory = $true, Position = 1)] [Parameter(Mandatory = $true, Position = 1)]
[String] $typeTag [String] $typeTag
) )
# $FileSystemAccessEntriesNew = @()
$roleType = "unknown" $roleType = "unknown"
# BUGFIX 2026-07-02: 'Sort-Object -Property "Order"' does not resolve hashtable keys on
# Windows PowerShell 5.1 (silent no-op, declaration order preserved). The scriptblock
# form works identically on 5.1 and 7, making rule evaluation order engine-independent.
$relevantRoleTypes = $SPK.GroupManagementMappings | Where-Object {$_.OU -ieq $typeTag} | Sort-Object { [int]$_.Order } $relevantRoleTypes = $SPK.GroupManagementMappings | Where-Object {$_.OU -ieq $typeTag} | Sort-Object { [int]$_.Order }
foreach ($relevantRoleType in $relevantRoleTypes) foreach ($relevantRoleType in $relevantRoleTypes)
{ {
outLogVerbose 'foreach $relevantRoleType in $relevantRoleTypes:' $relevantRoleType.TypeName
if ($adObjectEntry.OldName -cmatch $relevantRoleType.TagRegExp) if ($adObjectEntry.OldName -cmatch $relevantRoleType.TagRegExp)
{ {
outLogVerbose 'if ($adObjectEntry.OldName -cmatch $relevantRoleType.TagRegExp) -> true'
$roleType = $relevantRoleType.TypeName $roleType = $relevantRoleType.TypeName
break break
} }
} }
# Ausnahmebehandlungen in Absprache mit N.Zimmer am 21.01.2019
#--------------------------------------------------------------
if (($typeTag -ieq $FI.TypeTagSecurity) -and ($roleType -ieq "unknown")) if (($typeTag -ieq $FI.TypeTagSecurity) -and ($roleType -ieq "unknown"))
{ {
outLogVerbose 'if (($typeTag -ieq $FI.TypeTagSecurity) -and ($roleType -ieq "unknown")) -> true'
$roleType = "GPO" $roleType = "GPO"
} }
#--------------------------------------------------------------
return $roletype return $roletype
} }
@ -246,18 +177,19 @@ function buildPrefixMatcher
if (-not (Test-Path $CsvPath)) if (-not (Test-Path $CsvPath))
{ {
outLogVerbose 'if (-not (Test-Path $CsvPath)) -> true'
throw "Prefix CSV not found: $CsvPath" throw "Prefix CSV not found: $CsvPath"
} }
# length -> HashSet[string] of prefixes with exactly that length
$byLength = [System.Collections.Generic.Dictionary[int, System.Collections.Generic.HashSet[string]]]::new() $byLength = [System.Collections.Generic.Dictionary[int, System.Collections.Generic.HashSet[string]]]::new()
# foreach ($row in (Import-Csv -Path $CsvPath))
foreach ($row in $SPK.ProfilPrefixes) foreach ($row in $SPK.ProfilPrefixes)
{ {
outLogVerbose 'foreach $row in $SPK.ProfilPrefixes:' $row
$prefix = $row.Prefix $prefix = $row.Prefix
if ([string]::IsNullOrEmpty($prefix)) if ([string]::IsNullOrEmpty($prefix))
{ {
outLogVerbose 'if ([string]::IsNullOrEmpty($prefix)) -> true'
continue continue
} }
@ -265,18 +197,15 @@ function buildPrefixMatcher
$bucket = $null $bucket = $null
if (-not $byLength.TryGetValue($len, [ref] $bucket)) if (-not $byLength.TryGetValue($len, [ref] $bucket))
{ {
outLogVerbose 'if (-not $byLength.TryGetValue($len, [ref] $bucket)) -> true'
$bucket = [System.Collections.Generic.HashSet[string]]::new([System.StringComparer]::Ordinal) $bucket = [System.Collections.Generic.HashSet[string]]::new([System.StringComparer]::Ordinal)
$byLength[$len] = $bucket $byLength[$len] = $bucket
} }
[void]$bucket.Add($prefix) [void]$bucket.Add($prefix)
} }
# Pre-compute the distinct lengths once, sorted descending so the most specific
# (longest) prefix wins first - mirrors the "specific before generic" ordering
# of a well-formed elseif cascade.
$lengths = $byLength.Keys | Sort-Object -Descending $lengths = $byLength.Keys | Sort-Object -Descending
# Return a small state object carrying both structures.
return [pscustomobject]@{ return [pscustomobject]@{
ByLength = $byLength ByLength = $byLength
Lengths = $lengths Lengths = $lengths
@ -294,40 +223,30 @@ function testKnownPrefixes
if ([string]::IsNullOrEmpty($Value)) if ([string]::IsNullOrEmpty($Value))
{ {
outLogVerbose 'if ([string]::IsNullOrEmpty($Value)) -> true'
return $false return $false
} }
$valueLen = $Value.Length $valueLen = $Value.Length
foreach ($len in $Matcher.Lengths) foreach ($len in $Matcher.Lengths)
{ {
outLogVerbose 'foreach $len in $Matcher.Lengths:' $len
if ($len -gt $valueLen) if ($len -gt $valueLen)
{ {
outLogVerbose 'if ($len -gt $valueLen) -> true'
continue continue
} # prefix longer than value -> can't match }
$candidate = $Value.Substring(0, $len) $candidate = $Value.Substring(0, $len)
$bucket = $Matcher.ByLength[$len] $bucket = $Matcher.ByLength[$len]
if ($bucket.Contains($candidate)) if ($bucket.Contains($candidate))
{ {
return $true # found a known prefix outLogVerbose 'if ($bucket.Contains($candidate)) -> true'
return $true
} }
} }
return $false return $false
} }
# function getNormalizedDirectoryPaths
# {
# $analyzedDirectoryEntries = @()
# # $header = "Verzeichnisname", "Endpunktname", "Gruppe Lesen", "Gruppe Aendern", "Benutzer mit Leserecht", "Benutzer mit Aenderungsrecht", "Rollen mit Leserecht", "Rollen mit Aenderungsrecht", "Verzeichnisart", "normierter Pfad"
# # $directoriesFilePathEntries = Get-Content -Path $DirectoriesFilePath | Select-Object -Skip 1 | ConvertFrom-Csv -Delimiter ";" -Header $header
# # $directoriesFilePathEntries = Get-Content -Path $DirectoriesInFilePath | Select-Object -Skip 1 | ConvertFrom-Csv -Delimiter ";"
# $directoriesFilePathEntries = Get-Content -Path $DirectoriesInFilePath | ConvertFrom-Csv -Delimiter ";"
# # $headers = ($directoriesFilePathEntries | Get-Member -MemberType NoteProperty)
# # $interstingHeader = $headers.Name -match "Gruppe .ndern"
# foreach ($FilePathEntry in $directoriesFilePathEntries)
# {
# $analyzedDirectoryEntries += $FilePathEntry.Name
# }
# }
function postProcess function postProcess
@ -337,41 +256,10 @@ function postProcess
[bool]$convertToAscii = $false [bool]$convertToAscii = $false
) )
#########################################################
# just to be sure that nothing happens: comment it out until you know what`s happening here !
#########################################################
# $tmpFilePath = moveToInstituteTmpPath $DAWGruppenAnlegenOutFilePath $true
# $firstlines = Get-Content -Path $tmpFilePath -TotalCount 2
# Get-Content -Path $tmpFilePath -TotalCount 1 | Out-File -Force $DAWGruppenAnlegenOutFilePath
# Get-Content -Path $tmpFilePath | Select-Object -Skip 2 | ConvertFrom-Csv -Delimiter ";" | select 'GUIMandator', 'GUIADGroup.Name', 'GUIADGroup.Description', 'GUIMandatorADGroupType', 'GUIADGroup.DisplayName', 'GUIProcessingNote' | ConvertTo-Csv -Delimiter ';' -NoTypeInformation | Out-File -FilePath $DAWGruppenAnlegenOutFilePath -Encoding UTF8 -Append
# # Import-Csv $tmpFilePath | select 'GUIMandator','GUIADGroup.Name','GUIADGroup.Description','GUIMandatorADGroupType','GUIADGroup.DisplayName','GUIProcessingNote' | Export-Csv -Path $DAWGruppenAnlegenOutFilePath -Delimiter ";" -Encoding UTF8
# $tmpFilePath = moveToInstituteTmpPath $DAWGruppenverwaltungOutFilePath $true
# $firstlines = Get-Content -Path $tmpFilePath -TotalCount 2
# Get-Content -Path $tmpFilePath -TotalCount 1 | Out-File -Force $DAWGruppenverwaltungOutFilePath
# Get-Content -Path $tmpFilePath | Select-Object -Skip 2 | ConvertFrom-Csv -Delimiter ";" | select "GUIMandator", "GUIMandatorADGroupType", "GUIADGroup.LDAP", "GUIADGroup.ADGroups.Add.LDAPs", "GUIADGroup.ADGroups.Rem.LDAPs", "GUIADGroup.Accounts.Add.LDAPs", "GUIADGroup.Accounts.Rem.LDAPs", "GUIProcessingNote" | ConvertTo-Csv -Delimiter ';' -NoTypeInformation | Out-File -FilePath $DAWGruppenverwaltungOutFilePath -Encoding UTF8 -Append
# # Import-Csv $tmpFilePath | select "GUIMandator","GUIMandatorADGroupType","GUIADGroup.LDAP","GUIADGroup.ADGroups.Add.LDAPs","GUIADGroup.ADGroups.Rem.LDAPs","GUIADGroup.Accounts.Add.LDAPs","GUIADGroup.Accounts.Rem.LDAPs","GUIProcessingNote" | Export-Csv -Path $DAWGruppenverwaltungOutFilePath -Delimiter ";" -Encoding UTF8 -NoTypeInformation
# $tmpFilePath = moveToInstituteTmpPath $DAWGruppenverwaltungNeuOutFilePath $true
# $firstlines = Get-Content -Path $tmpFilePath -TotalCount 2
# Get-Content -Path $tmpFilePath -TotalCount 1 | Out-File -Force $DAWGruppenverwaltungNeuOutFilePath
# Get-Content -Path $tmpFilePath | Select-Object -Skip 2 | ConvertFrom-Csv -Delimiter ";" | select "GUIMandator", "GUIMandatorADGroupType", "GUIADGroup.LDAP", "GUIADGroup.ADGroups.Add.LDAPs", "GUIADGroup.ADGroups.Rem.LDAPs", "GUIADGroup.Accounts.Add.LDAPs", "GUIADGroup.Accounts.Rem.LDAPs", "GUIProcessingNote" | ConvertTo-Csv -Delimiter ';' -NoTypeInformation | Out-File -FilePath $DAWGruppenverwaltungNeuOutFilePath -Encoding UTF8 -Append
####################################################### todo ?
# $KURSIstProfileOutFilePath
# $KURSIstProfileBerechtigungenOutFilePath
# $KURSIstStellenBerechtigungenOutFilePath
# $KURSIstStellenProfileOutFilePath
# $KURSIstOEsBerechtigungenOutFilePath
# $KURSIstOEsProfileOutFilePath
# $KURSIstMitarbeiterProfileOutFilePath
# $KURSSollStellenfunktionenOutFilePath
# $KURSSollProfileOutFilePath
# $KURSSollProfileBerechtigungenOutFilePath
# $KURSSollStellenfunktionenBerechtigungenOutFilePath
# $KURSSollStellenfunktionenProfileOutFilePath
####################################################### todo ?
} }

View file

@ -1,48 +1,18 @@
$Config = @{ $Config = @{
# DefaultInstitute = "Y013"
# DefaultInstitute = "Q017"
# DefaultInstitute = "Y058"
# DefaultInstitute = "Y028"
# DefaultInstitute = "P006"
# DefaultInstitute = "P020"
# DefaultInstitute = "R045"
# DefaultInstitute = "E056"
# DefaultInstitute = "Y019"
# DefaultInstitute = "Y123"
# DefaultInstitute = "Y015"
DefaultInstitute = "R125" DefaultInstitute = "R125"
# DefaultInstitute = "Y087"
# DefaultInstitute = "Q023"
# DefaultInstitute = "P045"
# DefaultInstitute = "P030"
# DefaultInstitute = "P058"
# DefaultInstitute = "Z019"
# DefaultInstitute = "Z002"
# DefaultInstitute = "Z001"
# DefaultInstitute = "Z013"
# DefaultInstitute = "P014"
# DefaultInstitute = "Z101"
# Evaluation of "$Config.$DataPathTag" REALLY CAN`T WORK HERE, you stupid!!
# DataPathTag = "Data"
# DataRootPath = $PSScriptroot + "/" + $Config.$DataPathTag + "/"
DataRootPath = $PSScriptroot + "/Data/" DataRootPath = $PSScriptroot + "/Data/"
EmptyDescription = "### keine Beschreibung ###" EmptyDescription = "### keine Beschreibung ###"
NotAvailable = "N/A" NotAvailable = "N/A"
#set TestMode to a value n greater than 0 to import only n entries for every ADObject-rolettype TestMode = 3
TestMode = 0
Verbose = $true Verbose = $true
ToScreen = $true
Analyze = $false Analyze = $false
ProcessDAW = $true ProcessDAW = $true
WriteKURS = $false WriteKURS = $false
TransferDAW = $false TransferDAW = $false
# PostProcess = $true --- DON'T DO THIS for now !!!
PostProcess = $false PostProcess = $false
FI = @{ FI = @{
# put RootDomainName-Setting into $SPK, so there`s no need to do erroneous calcultations
# RootDomainName = "V998DPV"
# UserRolePrefix = "GGX"
# ApplicationAccessGroupPrefix = "GGX"
TypeTagRole = "AnwenderRollen" TypeTagRole = "AnwenderRollen"
TypeTagAppConfiguration = "Anwendungskonfiguration" TypeTagAppConfiguration = "Anwendungskonfiguration"
TypeTagAppAccess = "Anwendungszugriff" TypeTagAppAccess = "Anwendungszugriff"
@ -51,7 +21,6 @@ $Config = @{
TypeTagSecurity = "Sicherheitseinstellungen" TypeTagSecurity = "Sicherheitseinstellungen"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -61,11 +30,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -78,21 +42,11 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
#OU=Benutzergruppen
#OU=Gruppen
RelevantGroups = RelevantGroups =
@{ @{
#AppAccess = @{Filter = "OU=Anwendungszugriff,OU=Benutzergruppen"; ShortCut = "A_" }
#FilesystemAccess = @{Filter = "OU=Dateisystemzugriff,OU=Benutzergruppen"; ShortCut = "V_" }
#AppConfiguration = @{Filter = "OU=Anwendungskonfiguration,OU=Benutzergruppen"; ShortCut = "AK_" }
#Organisation = @{Filter = "OU=OrganisatorischeGruppen,OU=Benutzergruppen"; ShortCut = "O_" }
#Security = @{Filter = "OU=Sicherheitseinstellungen,OU=Benutzergruppen"; ShortCut = "S_" }
AppAccess = @{Filter = "OU=Anwendungszugriff,OU=Gruppen"; ShortCut = "A_" } AppAccess = @{Filter = "OU=Anwendungszugriff,OU=Gruppen"; ShortCut = "A_" }
FilesystemAccess = @{Filter = "OU=Dateisystemzugriff,OU=Gruppen"; ShortCut = "V_" } FilesystemAccess = @{Filter = "OU=Dateisystemzugriff,OU=Gruppen"; ShortCut = "V_" }
AppConfiguration = @{Filter = "OU=Anwendungskonfiguration,OU=Gruppen"; ShortCut = "AK_" } AppConfiguration = @{Filter = "OU=Anwendungskonfiguration,OU=Gruppen"; ShortCut = "AK_" }
@ -102,11 +56,9 @@ $Config = @{
} }
} }
SPK = @{ SPK = @{
#######
R125 = @{ Region = "R"; No = "125"; Sign = "SK"; Name = "Leipzig"; RootDomainName = "V998DPVR" R125 = @{ Region = "R"; No = "125"; Sign = "SK"; Name = "Leipzig"; RootDomainName = "V998DPVR"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -115,11 +67,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -132,15 +79,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
# BUGFIX 2026-07-02 (R125 only): Proxy rules moved to Order 130/140 (were 0/1).
# Reason: 'Sort-Object -Property Order' on hashtables silently does NOT sort on
# Windows PowerShell 5.1 (reference run) but DOES sort on PowerShell 7. With Order 0/1
# these rules won on PS7 and 'R125GGX-Proxy*' got type 'Proxy' instead of the
# reference value 'GPO'. Order 130/140 = evaluated after the GPO rules on both engines.
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 130 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 130 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 140 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 140 }
) )
FileMappings = FileMappings =
@ -1556,11 +1495,9 @@ $Config = @{
@{Prefix = "R125GGX-WG-Data_Alle"} @{Prefix = "R125GGX-WG-Data_Alle"}
) )
} }
#######
Y015 = @{ Region = "Y"; No = "015"; Sign = "SK"; Name = "Neuwied"; RootDomainName = "V998DPVY" Y015 = @{ Region = "Y"; No = "015"; Sign = "SK"; Name = "Neuwied"; RootDomainName = "V998DPVY"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -1569,11 +1506,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -1586,10 +1518,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -1608,12 +1537,9 @@ $Config = @{
} }
#region OLD ################################################################################################
#######
Z999 = @{ Region = "Z"; No = "999"; Sign = "JPSK"; Name = "JPrise SparKURS"; RootDomainName = "V998DPVZ" Z999 = @{ Region = "Z"; No = "999"; Sign = "JPSK"; Name = "JPrise SparKURS"; RootDomainName = "V998DPVZ"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -1622,11 +1548,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -1639,10 +1560,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -1656,7 +1574,6 @@ $Config = @{
P014 = @{ Region = "P"; No = "014"; Sign = "SLS"; Name = "Sparkass Langen-Seligenstadft"; RootDomainName = "V998DPVP" P014 = @{ Region = "P"; No = "014"; Sign = "SLS"; Name = "Sparkass Langen-Seligenstadft"; RootDomainName = "V998DPVP"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0}, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0},
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0}, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0},
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1}, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1},
@ -1670,10 +1587,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 2}, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 2},
@{TypeName = "GPO"; TagRegExp = "GGX-Modul"; OU = "Sicherheitseinstellungen"; Order = 3}, @{TypeName = "GPO"; TagRegExp = "GGX-Modul"; OU = "Sicherheitseinstellungen"; Order = 3},
@{TypeName = "GPO"; TagRegExp = "GGX-Fingerprint"; OU = "Sicherheitseinstellungen"; Order = 4}, @{TypeName = "GPO"; TagRegExp = "GGX-Fingerprint"; OU = "Sicherheitseinstellungen"; Order = 4},
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 5}, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 5},
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 6} @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 6}
) )
FileMappings = FileMappings =
@ -1687,7 +1601,6 @@ $Config = @{
Z002 = @{ Region = "Z"; No = "002"; Sign = "SKNE"; Name = "Sparkasse Neuss"; RootDomainName = "V998DPVZ" Z002 = @{ Region = "Z"; No = "002"; Sign = "SKNE"; Name = "Sparkasse Neuss"; RootDomainName = "V998DPVZ"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -1696,11 +1609,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -1713,10 +1621,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -1739,7 +1644,6 @@ $Config = @{
Z004 = @{ Region = "Z"; No = "004"; Sign = "SSKD"; Name = "Sparkasse Duesseldorf"; RootDomainName = "V998DPVZ" Z004 = @{ Region = "Z"; No = "004"; Sign = "SSKD"; Name = "Sparkasse Duesseldorf"; RootDomainName = "V998DPVZ"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -1748,11 +1652,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -1765,10 +1664,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -1782,7 +1678,6 @@ $Config = @{
Z101 = @{ Region = "Z"; No = "101"; Sign = "SKB"; Name = "Sparkasse Koeln-Bonn"; RootDomainName = "V998DPVZ" Z101 = @{ Region = "Z"; No = "101"; Sign = "SKB"; Name = "Sparkasse Koeln-Bonn"; RootDomainName = "V998DPVZ"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -1791,11 +1686,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -1808,10 +1698,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -1825,7 +1712,6 @@ $Config = @{
Z019 = @{ Region = "Z"; No = "019"; Sign = "SLS"; Name = "Sparkasse Essen"; RootDomainName = "V998DPVZ" Z019 = @{ Region = "Z"; No = "019"; Sign = "SLS"; Name = "Sparkasse Essen"; RootDomainName = "V998DPVZ"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -1834,11 +1720,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -1851,10 +1732,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -1866,11 +1744,9 @@ $Config = @{
) )
} }
#######
Q017 = @{ Region = "Q"; No = "017"; Sign = "LZO"; Name = "Sparkasse zu Oldenburg"; RootDomainName = "V998DPVP" Q017 = @{ Region = "Q"; No = "017"; Sign = "LZO"; Name = "Sparkasse zu Oldenburg"; RootDomainName = "V998DPVP"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -1879,11 +1755,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -1896,10 +1767,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -1911,11 +1779,9 @@ $Config = @{
) )
} }
#######
Y013 = @{ Region = "Y"; No = "013"; Sign = "KOB"; Name = "Sparkasse Koblenz"; RootDomainName = "V998DPVY" Y013 = @{ Region = "Y"; No = "013"; Sign = "KOB"; Name = "Sparkasse Koblenz"; RootDomainName = "V998DPVY"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -1924,11 +1790,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -1941,10 +1802,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -1956,11 +1814,9 @@ $Config = @{
) )
} }
#######
Z001 = @{ Region = "Z"; No = "001"; Sign = "KRE"; Name = "Sparkasse Krefeld"; RootDomainName = "V998DPVZ" Z001 = @{ Region = "Z"; No = "001"; Sign = "KRE"; Name = "Sparkasse Krefeld"; RootDomainName = "V998DPVZ"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -1969,11 +1825,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -1986,10 +1837,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2001,11 +1849,9 @@ $Config = @{
) )
} }
#######
Z013 = @{ Region = "Z"; No = "013"; Sign = "MGL"; Name = "Sparkasse Moenchengladbach"; RootDomainName = "V998DPK1" Z013 = @{ Region = "Z"; No = "013"; Sign = "MGL"; Name = "Sparkasse Moenchengladbach"; RootDomainName = "V998DPK1"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -2014,11 +1860,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -2031,10 +1872,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2046,11 +1884,9 @@ $Config = @{
) )
} }
#######
Q023 = @{ Region = "Q"; No = "023"; Sign = "SOL"; Name = "Kreissparkasse Soltau"; RootDomainName = "V998DPVQ" Q023 = @{ Region = "Q"; No = "023"; Sign = "SOL"; Name = "Kreissparkasse Soltau"; RootDomainName = "V998DPVQ"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -2059,11 +1895,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -2076,10 +1907,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2091,11 +1919,9 @@ $Config = @{
) )
} }
#######
P045 = @{ Region = "P"; No = "045"; Sign = "WEI"; Name = "Kreissparkasse Weilburg"; RootDomainName = "V998DPVP" P045 = @{ Region = "P"; No = "045"; Sign = "WEI"; Name = "Kreissparkasse Weilburg"; RootDomainName = "V998DPVP"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -2104,11 +1930,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -2121,10 +1942,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2136,11 +1954,9 @@ $Config = @{
) )
} }
#######
P020 = @{ Region = "P"; No = "020"; Sign = "LIM"; Name = "Kreissparkasse Limburg"; RootDomainName = "V998DPVP" P020 = @{ Region = "P"; No = "020"; Sign = "LIM"; Name = "Kreissparkasse Limburg"; RootDomainName = "V998DPVP"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -2149,11 +1965,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -2166,10 +1977,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2181,11 +1989,9 @@ $Config = @{
) )
} }
#######
Y058 = @{ Region = "Y"; No = "058"; Sign = "BIT"; Name = "Kreissparkasse Bitburg-Pruem"; RootDomainName = "V998DPVY" Y058 = @{ Region = "Y"; No = "058"; Sign = "BIT"; Name = "Kreissparkasse Bitburg-Pruem"; RootDomainName = "V998DPVY"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -2194,11 +2000,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -2211,10 +2012,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2226,11 +2024,9 @@ $Config = @{
) )
} }
#######
Y087 = @{ Region = "Y"; No = "087"; Sign = "VUK"; Name = "Kreissparkasse Vulkaneifel"; RootDomainName = "V998DPVY" Y087 = @{ Region = "Y"; No = "087"; Sign = "VUK"; Name = "Kreissparkasse Vulkaneifel"; RootDomainName = "V998DPVY"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -2239,11 +2035,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -2256,10 +2047,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2271,11 +2059,9 @@ $Config = @{
) )
} }
#######
P006 = @{ Region = "P"; No = "006"; Sign = "KGG"; Name = "Kreissparkasse Gross Gerau"; RootDomainName = "V998DPVP" P006 = @{ Region = "P"; No = "006"; Sign = "KGG"; Name = "Kreissparkasse Gross Gerau"; RootDomainName = "V998DPVP"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -2284,11 +2070,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -2301,10 +2082,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2316,11 +2094,9 @@ $Config = @{
) )
} }
#######
R045 = @{ Region = "R"; No = "045"; Sign = "KGG"; Name = "Sparkasse Westholstein"; RootDomainName = "V998DPVR" R045 = @{ Region = "R"; No = "045"; Sign = "KGG"; Name = "Sparkasse Westholstein"; RootDomainName = "V998DPVR"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -2329,11 +2105,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -2346,10 +2117,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2361,11 +2129,9 @@ $Config = @{
) )
} }
#######
E056 = @{ Region = "E"; No = "056"; Sign = "SK"; Name = "Mainfranken"; RootDomainName = "V998DPVE" E056 = @{ Region = "E"; No = "056"; Sign = "SK"; Name = "Mainfranken"; RootDomainName = "V998DPVE"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -2374,11 +2140,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -2391,10 +2152,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2406,11 +2164,9 @@ $Config = @{
) )
} }
#######
Y123 = @{ Region = "Y"; No = "123"; Sign = "SK"; Name = "Merzig-Wadern"; RootDomainName = "V998DPVY" Y123 = @{ Region = "Y"; No = "123"; Sign = "SK"; Name = "Merzig-Wadern"; RootDomainName = "V998DPVY"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -2419,11 +2175,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -2436,10 +2187,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2453,11 +2201,9 @@ $Config = @{
#######
Y019 = @{ Region = "Y"; No = "019"; Sign = "SK"; Name = "Rhein-Haardt"; RootDomainName = "V998DPVY" Y019 = @{ Region = "Y"; No = "019"; Sign = "SK"; Name = "Rhein-Haardt"; RootDomainName = "V998DPVY"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -2466,11 +2212,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -2483,10 +2224,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2499,11 +2237,9 @@ $Config = @{
} }
#######
Y028 = @{ Region = "Y"; No = "028"; Sign = "AHR"; Name = "Kreissparkasse Ahrweiler"; RootDomainName = "V998DPVY" Y028 = @{ Region = "Y"; No = "028"; Sign = "AHR"; Name = "Kreissparkasse Ahrweiler"; RootDomainName = "V998DPVY"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -2512,11 +2248,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -2529,10 +2260,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2546,13 +2274,11 @@ $Config = @{
#######
P030 = @{ Region = "P"; No = "030"; Sign = "FRASPA"; Name = "Sparkasse Frankfurt"; RootDomainName = "V998DPVP" P030 = @{ Region = "P"; No = "030"; Sign = "FRASPA"; Name = "Sparkasse Frankfurt"; RootDomainName = "V998DPVP"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -2561,11 +2287,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -2578,10 +2299,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2595,7 +2313,6 @@ $Config = @{
P058 = @{ Region = "P"; No = "058"; Sign = "KASPA"; Name = "Sparkasse Kassel"; RootDomainName = "V998DPVP" P058 = @{ Region = "P"; No = "058"; Sign = "KASPA"; Name = "Sparkasse Kassel"; RootDomainName = "V998DPVP"
GroupManagementMappings = GroupManagementMappings =
@( @(
#use 'Order'-Property' to set the order of 'TagRegExp'-evaluation for 'OU's - from specific to generic !!!
@{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 }, @{TypeName = "Role"; TagRegExp = "G.X-"; OU = "AnwenderRollen"; Order = 0 },
@{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 }, @{TypeName = "IExplore"; TagRegExp = "GGX-IEK_"; OU = "Anwendungskonfiguration"; Order = 0 },
@{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 }, @{TypeName = "Office"; TagRegExp = "GGX-OFK_"; OU = "Anwendungskonfiguration"; Order = 1 },
@ -2604,11 +2321,6 @@ $Config = @{
@{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 }, @{TypeName = "CustomerApplication"; TagRegExp = "GG.-"; OU = "Anwendungszugriff"; Order = 1 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EPEncr-"; OU = "Dateisystemzugriff"; Order = 0 },
@{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 }, @{TypeName = "FileSystemAccessProd"; TagRegExp = "GDF-EP-"; OU = "Dateisystemzugriff"; Order = 1 },
# #####################################################################################################
# "*GDT*" und "*GGD*" werden bei allen Sparkassen generell nicht betrachtet
# @{TypeName = "GPO"; TagRegExp = "GDT-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 0 },
# @{TypeName = "GPO"; TagRegExp = "GGD-SIA"; OU = "Sicherheitseinstellungen"; Order = 1 },
# #####################################################################################################
@{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 }, @{TypeName = "GPO"; TagRegExp = "GGT-IE-Support-Tools"; OU = "Sicherheitseinstellungen"; Order = 10 },
@{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 }, @{TypeName = "GPO"; TagRegExp = "GGT-TS"; OU = "Sicherheitseinstellungen"; Order = 20 },
@{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 }, @{TypeName = "GPO"; TagRegExp = "GGW-DL2"; OU = "Sicherheitseinstellungen"; Order = 30 },
@ -2621,10 +2333,7 @@ $Config = @{
@{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 }, @{TypeName = "GPO"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 100 },
@{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 }, @{TypeName = "GPO"; TagRegExp = "GGX-Smartcard"; OU = "Sicherheitseinstellungen"; Order = 110 },
@{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 }, @{TypeName = "GPO"; TagRegExp = "GGX-TCHelpdesk"; OU = "Sicherheitseinstellungen"; Order = 120 },
# Spez. aber aktuell nicht vorhanden
#{@Type = "GPOInd"; TagRegExp = "GGX-Ind-"; OU = "Sicherheitseinstellungen"; Order = 5},
@{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 }, @{TypeName = "Proxy"; TagRegExp = "GGX-PROXY"; OU = "Sicherheitseinstellungen"; Order = 0 },
# nicht gemaess FI-Doku
@{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 } @{TypeName = "Proxy"; TagRegExp = "GGX-Proxy"; OU = "Sicherheitseinstellungen"; Order = 1 }
) )
FileMappings = FileMappings =
@ -2635,7 +2344,6 @@ $Config = @{
@{SourceFileName = ""; TargetFileName = ""} @{SourceFileName = ""; TargetFileName = ""}
) )
} }
#endregion OLD ################################################################################################
} }
} }

5
Process-ADObjects-Test.ps1 Executable file → Normal file
View file

@ -1,5 +1,3 @@
#Add-Type -Path "Syncfusion.XlsIO.Portable.dll"
#Add-Type -Path "Syncfusion.Compression.Portable.dll"
function TestExcel { function TestExcel {
$inputFilePath = "/Users/edmond/Develop/PowerShell/BIT-BV/Data/Z999/In/bitBVTest.xlsx" $inputFilePath = "/Users/edmond/Develop/PowerShell/BIT-BV/Data/Z999/In/bitBVTest.xlsx"
@ -16,10 +14,11 @@ function TestExcel {
$colCount = $workSheet.UsedRange.LastColumn $colCount = $workSheet.UsedRange.LastColumn
for ($i = 2; $i -le $rowCount; $i++) { for ($i = 2; $i -le $rowCount; $i++) {
outLogVerbose 'for ($i = 2; $i -le $rowCount; $i++) iteration:' $i
for ($j = 1; $j -le $colCount; $j++) { for ($j = 1; $j -le $colCount; $j++) {
outLogVerbose 'for ($j = 1; $j -le $colCount; $j++) iteration:' $j
$value = $workSheet.Range[$i, $j].DisplayText $value = $workSheet.Range[$i, $j].DisplayText
$newValue = $value -replace "`n", " --- " -replace "`r", " --- " -replace ";", "--" -replace "`"", "'" $newValue = $value -replace "`n", " --- " -replace "`r", " --- " -replace ";", "--" -replace "`"", "'"
# $newValue = convertUTF8ToASCII $newValue
$workSheet.Range[$i, $j].Text = $newValue $workSheet.Range[$i, $j].Text = $newValue
} }
} }

128
Process-ADObjects-Utility.ps1 Executable file → Normal file
View file

@ -20,25 +20,106 @@ function getTimeStamp
return $now.ToString($formatString) return $now.ToString($formatString)
} }
function openLog
{
param([string] $Path = $LogFileName)
closeLog
$parentDir = Split-Path -Parent $Path
if ($parentDir -and -not (Test-Path $parentDir))
{
New-Item -ItemType Directory -Path $parentDir -Force | Out-Null
}
$Global:LogWriter = [System.IO.StreamWriter]::new(
$Path, $true, [System.Text.UTF8Encoding]::new($false))
$Global:LogWriter.AutoFlush = $true
$Global:LogWriterPath = $Path
}
function closeLog
{
if ($Global:LogWriter)
{
$Global:LogWriter.Flush()
$Global:LogWriter.Dispose()
$Global:LogWriter = $null
$Global:LogWriterPath = $null
}
}
function outLogVerbose
{
if (-not $Config.Verbose)
{
return
}
outLog @args -ToScreen $false
}
function outLog function outLog
{ {
[CmdletBinding(PositionalBinding = $false)]
param
(
[Parameter(ValueFromRemainingArguments = $true)]
[object[]] $Messages,
[bool] $ToScreen = $true
)
$timestamp = Get-Date $timestamp = Get-Date
$outString = $timestamp.ToString("HH:mm:ss.mmm") + ": " $outString = $timestamp.ToString("HH:mm:ss.fff") + ": "
for ($i = 0; $i -lt $args.count; $i++) if ($Messages)
{ {
$j = $i + 1 $outString += ($Messages -join [Environment]::NewLine)
$outString += $args[$i]
} }
if ($previuosTime) if ($previuosTime)
{ {
$outString += ($end - $start) $outString += [Environment]::NewLine + ($end - $start)
}
if (-not $Global:LogWriter -or $Global:LogWriterPath -ne $LogFileName)
{
openLog $LogFileName
}
$Global:LogWriter.WriteLine($outString)
if ($ToScreen)
{
Write-Host $outString
} }
$outString | Tee-Object -FilePath $LogFileName -Append | Write-Host
} }
function removeDuplicatesFromSortedList
{
param
(
[Parameter(Mandatory = $true)]
[System.Collections.Generic.List[string]] $List,
[Parameter(Mandatory = $false)]
[string] $ListName = "list"
)
if ($List.Count -lt 2)
{
return
}
$unique = [System.Collections.Generic.List[string]]::new($List.Count)
$previous = $null
foreach ($entry in $List)
{
if ($entry -cne $previous)
{
$unique.Add($entry)
$previous = $entry
}
}
$removedCount = $List.Count - $unique.Count
if ($removedCount -gt 0)
{
$List.Clear()
$List.AddRange($unique)
}
outLog ($ListName + ": removed " + $removedCount + " duplicate lines, " + $List.Count + " remaining")
}
function outScreen function outScreen
{ {
$timestamp = Get-Date $timestamp = Get-Date
$outString = $timestamp.ToString("HH:mm:ss.mmm") + ": " $outString = $timestamp.ToString("HH:mm:ss.fff") + ": "
for ($i = 0; $i -lt $args.count; $i++) for ($i = 0; $i -lt $args.count; $i++)
{ {
$j = $i + 1 $j = $i + 1
@ -57,28 +138,32 @@ function checkInput
$spk = $spk.ToUpperInvariant() $spk = $spk.ToUpperInvariant()
if ([string]::IsNullOrEmpty($spk)) if ([string]::IsNullOrEmpty($spk))
{ {
outLogVerbose 'if ([string]::IsNullOrEmpty($spk)) -> true'
if (isProbablyDevelopmentUser) if (isProbablyDevelopmentUser)
{ {
Write-Host "no given Institute (parameter '-sparkasse'), using default" $Config.DefaultInstitute outLogVerbose 'if (isProbablyDevelopmentUser) -> true'
$spk = $Config.DefaultInstitute.ToUpperInvariant() $spk = $Config.DefaultInstitute.ToUpperInvariant()
} }
else else
{ {
outLogVerbose 'else -> true (if/elseif (isProbablyDevelopmentUser) -> false)'
while ($true) while ($true)
{ {
outLogVerbose 'while ($true) -> true'
$spk = $(Read-Host "please enter Institute Parameter (parameter '-sparkasse'), 'Ctrl-C for exit'" ).ToUpperInvariant() $spk = $(Read-Host "please enter Institute Parameter (parameter '-sparkasse'), 'Ctrl-C for exit'" ).ToUpperInvariant()
if ([string]::IsNullOrEmpty($spk)) if ([string]::IsNullOrEmpty($spk))
{ {
outLogVerbose 'if ([string]::IsNullOrEmpty($spk)) -> true'
continue continue
} }
elseif (checkInstitute($spk)) elseif (checkInstitute($spk))
{ {
outLogVerbose 'elseif (checkInstitute($spk)) -> true'
break break
} }
else else
{ {
Write-Host "this institute is not in our list of wellknown institutes: " outLogVerbose 'else -> true (if/elseif (checkInstitute($spk)) -> false)'
Write-Host ($Config.SPK | Format-Table | Out-String)
continue continue
} }
} }
@ -86,9 +171,7 @@ function checkInput
} }
elseif (-not (checkInstitute($spk))) elseif (-not (checkInstitute($spk)))
{ {
# Write-Host "edmond" outLogVerbose 'elseif (-not (checkInstitute($spk))) -> true'
Write-Host "this institute is not in our list of wellknown institutes: "
Write-Host ($Config.SPK | Format-Table | Out-String)
exit exit
} }
return $spk return $spk
@ -98,12 +181,12 @@ function checkInputSourceFiles
{ {
if (-not $InstitutsSourcePath) if (-not $InstitutsSourcePath)
{ {
Write-Host "Source file does not exist: " $InstitutsSourcePath outLogVerbose 'if (-not $InstitutsSourcePath) -> true'
return $false return $false
} }
if (-not $InstitutsSourcePathKURS) if (-not $InstitutsSourcePathKURS)
{ {
Write-Host "Source file does not exist: " $InstitutsSourcePathKURS outLogVerbose 'if (-not $InstitutsSourcePathKURS) -> true'
return $false return $false
} }
return $true return $true
@ -114,36 +197,43 @@ function checkInputDataFiles
$ok = $true $ok = $true
if (-not $ADObjectsFilePath) if (-not $ADObjectsFilePath)
{ {
outLogVerbose 'if (-not $ADObjectsFilePath) -> true'
outLog "no ADObjectsFile found !" outLog "no ADObjectsFile found !"
$ok = $false $ok = $false
} }
if (-not $ADObjectMembershipsFilePath) if (-not $ADObjectMembershipsFilePath)
{ {
outLogVerbose 'if (-not $ADObjectMembershipsFilePath) -> true'
outLog "no ADObjectsFile found !" outLog "no ADObjectsFile found !"
$ok = $false $ok = $false
} }
if (-not $ADApplicationsInFilePath) if (-not $ADApplicationsInFilePath)
{ {
outLogVerbose 'if (-not $ADApplicationsInFilePath) -> true'
outLog "no ADApplicationsInFile found !" outLog "no ADApplicationsInFile found !"
$ok = $false $ok = $false
} }
if (-not $ADDirectoriesInFilePath) if (-not $ADDirectoriesInFilePath)
{ {
outLogVerbose 'if (-not $ADDirectoriesInFilePath) -> true'
outLog "no ADDirectoriesInFile found !" outLog "no ADDirectoriesInFile found !"
$ok = $false $ok = $false
} }
if (-not $SecurityInFilePath) if (-not $SecurityInFilePath)
{ {
outLogVerbose 'if (-not $SecurityInFilePath) -> true'
outLog "no SecurityInFile found !" outLog "no SecurityInFile found !"
$ok = $false $ok = $false
} }
if (-not $KURSPositionsInFilePath) if (-not $KURSPositionsInFilePath)
{ {
outLogVerbose 'if (-not $KURSPositionsInFilePath) -> true'
outLog "no KURSPositionsInFile found !" outLog "no KURSPositionsInFile found !"
$ok = $false $ok = $false
} }
if (-not $KURSEmployeesInFilePath) if (-not $KURSEmployeesInFilePath)
{ {
outLogVerbose 'if (-not $KURSEmployeesInFilePath) -> true'
outLog "no KURSEmployeesInFile found !" outLog "no KURSEmployeesInFile found !"
$ok = $false $ok = $false
} }
@ -151,6 +241,7 @@ function checkInputDataFiles
$ADObjectMembershipsFileTimeStamp = (Get-ChildItem $ADObjectMembershipsFilePath).BaseName.Split("_")[2] $ADObjectMembershipsFileTimeStamp = (Get-ChildItem $ADObjectMembershipsFilePath).BaseName.Split("_")[2]
if ($ADObjectsFileTimeStamp -ne $ADObjectMembershipsFileTimeStamp) if ($ADObjectsFileTimeStamp -ne $ADObjectMembershipsFileTimeStamp)
{ {
outLogVerbose 'if ($ADObjectsFileTimeStamp -ne $ADObjectMembershipsFileTimeStamp) -> true'
outLog "TimeStamps of latest input files found are not equal: ADObjectsFileTimeStamp:" $ADObjectsFileTimeStamp "ADObjectMembershipsFileTimeStamp: " $ADObjectMembershipsFileTimeStamp ", stopping process !" outLog "TimeStamps of latest input files found are not equal: ADObjectsFileTimeStamp:" $ADObjectsFileTimeStamp "ADObjectMembershipsFileTimeStamp: " $ADObjectMembershipsFileTimeStamp ", stopping process !"
$ok = $false $ok = $false
} }
@ -161,6 +252,7 @@ function checkTestMode
{ {
if ($Config.TestMode -gt 0) if ($Config.TestMode -gt 0)
{ {
outLogVerbose 'if ($Config.TestMode -gt 0) -> true'
outLog "entering TestMode, reading the first" $Config.TestMode "ADObject-entries for every roletype" outLog "entering TestMode, reading the first" $Config.TestMode "ADObject-entries for every roletype"
return $true return $true
} }
@ -173,12 +265,12 @@ function isProbablyDevelopmentUser
$userName = [Environment]::UserName $userName = [Environment]::UserName
if ($userName -ieq "edmond") if ($userName -ieq "edmond")
{ {
Write-Host "developer" $userName "found" outLogVerbose 'if ($userName -ieq "edmond") -> true'
return $true return $true
} }
elseif ($userName -ieq "burgwink") elseif ($userName -ieq "burgwink")
{ {
Write-Host "developer" $userName "found" outLogVerbose 'elseif ($userName -ieq "burgwink") -> true'
return $true return $true
} }
return $false return $false
@ -245,6 +337,7 @@ function moveToInstituteTmpPath
$tmpFilePath = $InstituteRootPathTmp + "/" + $fileName $tmpFilePath = $InstituteRootPathTmp + "/" + $fileName
if ($force) if ($force)
{ {
outLogVerbose 'if ($force) -> true'
Remove-Item -Path $tmpFilePath -ErrorAction Ignore Remove-Item -Path $tmpFilePath -ErrorAction Ignore
} }
Move-Item -Path $filePath -Destination $InstituteRootPathTmp Move-Item -Path $filePath -Destination $InstituteRootPathTmp
@ -288,6 +381,7 @@ function writeExceptionInfo
if ($Rethrow) if ($Rethrow)
{ {
outLogVerbose 'if ($Rethrow) -> true'
throw $ErrorRecord throw $ErrorRecord
} }
} }

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

51
Process-ADObjects-Work.ps1 Executable file → Normal file
View file

@ -1,6 +1,3 @@
# --------------------------------------------------------------
# Relevante OU filtern und fuer jede OU eigene Datei generieren
# --------------------------------------------------------------
function prepareADObjectsByType { function prepareADObjectsByType {
Param Param
( (
@ -11,17 +8,17 @@ function prepareADObjectsByType {
$counter = 1 $counter = 1
$count = $ADObjects.Count $count = $ADObjects.Count
foreach ($adObject in $ADObjects) { foreach ($adObject in $ADObjects) {
outLogVerbose 'foreach $adObject in $ADObjects:' $adObject.ObjectName
if (-Not ($adObject.Description)) { if (-Not ($adObject.Description)) {
outLogVerbose 'if (-Not ($adObject.Description)) -> true'
$adObject.Description = $Config.EmptyDescription $adObject.Description = $Config.EmptyDescription
} }
#$adObject.Description = $Config.EmptyDescription
#$activityMessage = "Processing entry " + $counter + " of " + $count + ", type " + $typeTag + " object " + $adObject.ObjectName
#Write-Host $activityMessage
$currentADObject = $null $currentADObject = $null
if ($typeTag -ieq $FI.TypeTagAppConfiguration) { if ($typeTag -ieq $FI.TypeTagAppConfiguration) {
outLogVerbose 'if ($typeTag -ieq $FI.TypeTagAppConfiguration) -> true'
if ($adObject.OU -cmatch $FI.RelevantGroups.AppConfiguration.Filter) { if ($adObject.OU -cmatch $FI.RelevantGroups.AppConfiguration.Filter) {
# $userMemberShips = getAllUserMemberships $adObject outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.AppConfiguration.Filter) -> true'
$userMemberShips = @() $userMemberShips = @()
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.AppConfiguration.ShortCut; Description = $adObject.Description; Users = $userMemberShips} $adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.AppConfiguration.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adObjectFileEntry = $adObject.ObjectName + ";" + $adObject.OU + ";" + $FI.RelevantGroups.AppConfiguration.ShortCut + ";" + $adObject.Description $adObjectFileEntry = $adObject.ObjectName + ";" + $adObject.OU + ";" + $FI.RelevantGroups.AppConfiguration.ShortCut + ";" + $adObject.Description
@ -29,15 +26,15 @@ function prepareADObjectsByType {
$adGroupObjects += $adObjectEntry $adGroupObjects += $adObjectEntry
$counter++ $counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) ) { if ($IsTestMode -and ($counter -gt $Config.TestMode) ) {
outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break break
} }
# $activityMessage = "Processing entry " + $counter + " of " + $count + ", type " + $typeTag + " object " + $adObject.ObjectName
# Write-Host $activityMessage
} }
} }
elseif ($typeTag -ieq $FI.TypeTagAppAccess) { elseif ($typeTag -ieq $FI.TypeTagAppAccess) {
outLogVerbose 'elseif ($typeTag -ieq $FI.TypeTagAppAccess) -> true'
if ($adObject.OU -cmatch $FI.RelevantGroups.AppAccess.Filter) { if ($adObject.OU -cmatch $FI.RelevantGroups.AppAccess.Filter) {
# $userMemberShips = getAllUserMemberships $adObject outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.AppAccess.Filter) -> true'
$userMemberShips = @() $userMemberShips = @()
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.AppAccess.ShortCut; Description = $adObject.Description; Users = $userMemberShips} $adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.AppAccess.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adObjectFileEntry = $adObject.ObjectName + ";" + $adObject.OU + ";" + $FI.RelevantGroups.AppAccess.ShortCut + ";" + $adObject.Description $adObjectFileEntry = $adObject.ObjectName + ";" + $adObject.OU + ";" + $FI.RelevantGroups.AppAccess.ShortCut + ";" + $adObject.Description
@ -45,16 +42,15 @@ function prepareADObjectsByType {
$adGroupObjects += $adObjectEntry $adGroupObjects += $adObjectEntry
$counter++ $counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) ) { if ($IsTestMode -and ($counter -gt $Config.TestMode) ) {
outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break break
} }
# $activityMessage = "Processing entry " + $counter + " of " + $count + ", type " + $typeTag + " object " + $adObject.ObjectName
# Write-Host $activityMessage
} }
} }
elseif ($typeTag -ieq $FI.TypeTagFileSystemAccess) { elseif ($typeTag -ieq $FI.TypeTagFileSystemAccess) {
outLogVerbose 'elseif ($typeTag -ieq $FI.TypeTagFileSystemAccess) -> true'
if ($adObject.OU -cmatch $FI.RelevantGroups.FilesystemAccess.Filter) { if ($adObject.OU -cmatch $FI.RelevantGroups.FilesystemAccess.Filter) {
# Teile gehoeren in den Block Anwendungszugriff outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.FilesystemAccess.Filter) -> true'
# $userMemberShips = getAllUserMemberships $adObject
$userMemberShips = @() $userMemberShips = @()
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.FilesystemAccess.ShortCut; Description = $adObject.Description; Users = $userMemberShips} $adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.FilesystemAccess.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adObjectFileEntry = $adObject.ObjectName + ";" + $adObject.OU + ";" + $FI.RelevantGroups.FilesystemAccess.ShortCut + ";" + $adObject.Description $adObjectFileEntry = $adObject.ObjectName + ";" + $adObject.OU + ";" + $FI.RelevantGroups.FilesystemAccess.ShortCut + ";" + $adObject.Description
@ -62,15 +58,15 @@ function prepareADObjectsByType {
$adGroupObjects += $adObjectEntry $adGroupObjects += $adObjectEntry
$counter++ $counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) ) { if ($IsTestMode -and ($counter -gt $Config.TestMode) ) {
outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break break
} }
# $activityMessage = "Processing entry " + $counter + " of " + $count + ", type " + $typeTag + " object " + $adObject.ObjectName
# Write-Host $activityMessage
} }
} }
elseif ($typeTag -ieq $FI.TypeTagOrganisation) { elseif ($typeTag -ieq $FI.TypeTagOrganisation) {
outLogVerbose 'elseif ($typeTag -ieq $FI.TypeTagOrganisation) -> true'
if ($adObject.OU -cmatch $FI.RelevantGroups.Organisation.Filter) { if ($adObject.OU -cmatch $FI.RelevantGroups.Organisation.Filter) {
# $userMemberShips = getAllUserMemberships $adObject outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.Organisation.Filter) -> true'
$userMemberShips = @() $userMemberShips = @()
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.Organisation.ShortCut; Description = $adObject.Description; Users = $userMemberShips} $adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.Organisation.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adObjectFileEntry = $adObject.ObjectName + ";" + $adObject.OU + ";" + $FI.RelevantGroups.Organisation.ShortCut + ";" + $adObject.Description $adObjectFileEntry = $adObject.ObjectName + ";" + $adObject.OU + ";" + $FI.RelevantGroups.Organisation.ShortCut + ";" + $adObject.Description
@ -78,15 +74,15 @@ function prepareADObjectsByType {
$adGroupObjects += $adObjectEntry $adGroupObjects += $adObjectEntry
$counter++ $counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) ) { if ($IsTestMode -and ($counter -gt $Config.TestMode) ) {
outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break break
} }
# $activityMessage = "Processing entry " + $counter + " of " + $count + ", type " + $typeTag + " object " + $adObject.ObjectName
# Write-Host $activityMessage
} }
} }
elseif ($typeTag -ieq $FI.TypeTagSecurity) { elseif ($typeTag -ieq $FI.TypeTagSecurity) {
outLogVerbose 'elseif ($typeTag -ieq $FI.TypeTagSecurity) -> true'
if ($adObject.OU -cmatch $FI.RelevantGroups.Security.Filter) { if ($adObject.OU -cmatch $FI.RelevantGroups.Security.Filter) {
# $userMemberShips = getAllUserMemberships $adObject outLogVerbose 'if ($adObject.OU -cmatch $FI.RelevantGroups.Security.Filter) -> true'
$userMemberShips = @() $userMemberShips = @()
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.Security.ShortCut; Description = $adObject.Description; Users = $userMemberShips} $adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.Security.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adObjectFileEntry = $adObject.ObjectName + ";" + $adObject.OU + ";" + $FI.RelevantGroups.Security.ShortCut + ";" + $adObject.Description $adObjectFileEntry = $adObject.ObjectName + ";" + $adObject.OU + ";" + $FI.RelevantGroups.Security.ShortCut + ";" + $adObject.Description
@ -94,19 +90,16 @@ function prepareADObjectsByType {
$adGroupObjects += $adObjectEntry $adGroupObjects += $adObjectEntry
$counter++ $counter++
if ($IsTestMode -and ($counter -gt $Config.TestMode) ) { if ($IsTestMode -and ($counter -gt $Config.TestMode) ) {
outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break break
} }
# $activityMessage = "Processing entry " + $counter + " of " + $count + ", type " + $typeTag + " object " + $adObject.ObjectName
# Write-Host $activityMessage
} }
} }
elseif ($typeTag -ieq $FI.TypeTagRole) { elseif ($typeTag -ieq $FI.TypeTagRole) {
#Write-Host "----: " $FI.TypeTagRole " -> " $typeTag " -> " $FI.RelevantGroups.Role.Filter " -> " $adObject.OU outLogVerbose 'elseif ($typeTag -ieq $FI.TypeTagRole) -> true'
#-contains "find"
#if ($adObject.OU -cmatch $FI.RelevantGroups.Role.Filter) {
if ($adObject.OU -like "*Anwenderrollen*") { if ($adObject.OU -like "*Anwenderrollen*") {
# $userMemberShips = getAllUserMemberships $adObject outLogVerbose 'if ($adObject.OU -like "*Anwenderrollen*") -> true'
$userMemberShips = @() $userMemberShips = @()
$adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.Role.ShortCut; Description = $adObject.Description; Users = $userMemberShips} $adObjectEntry = @{ObjectName = $adObject.ObjectName; Path = $adObject.OU; ShortCut = $FI.RelevantGroups.Role.ShortCut; Description = $adObject.Description; Users = $userMemberShips}
$adObjectFileEntry = $adObject.ObjectName + ";" + $adObject.OU + ";" + $FI.RelevantGroups.Role.ShortCut + ";" + $adObject.Description $adObjectFileEntry = $adObject.ObjectName + ";" + $adObject.OU + ";" + $FI.RelevantGroups.Role.ShortCut + ";" + $adObject.Description
@ -114,18 +107,14 @@ function prepareADObjectsByType {
$adGroupObjects += $adObjectEntry $adGroupObjects += $adObjectEntry
$counter++ $counter++
#Write-Host "+---: " $FI.TypeTagRole " -> " $typeTag " -> " $counter
if ($IsTestMode -and ($counter -gt $Config.TestMode) ) { if ($IsTestMode -and ($counter -gt $Config.TestMode) ) {
outLogVerbose 'if ($IsTestMode -and ($counter -gt $Config.TestMode)) -> true'
break break
} }
#$activityMessage = "Processing entry " + $counter + " of " + $count + ", type " + $typeTag + " object " + $adObject.ObjectName
#Write-Host $activityMessage
} }
} }
# $percentCompleted = $counter / $count * 100
# Write-Progress -Activity $activityMessage -Status "zzz" -PercentComplete -1
} }
return $adGroupObjects return $adGroupObjects
} }

View file

@ -203,8 +203,7 @@ if ($Config.Analyze)
} }
$importingTime = Get-Date $importingTime = Get-Date
# Write-Host "finished: importing at" $importingTime.ToString("yyyy.MM.dd-HH:mm:ss.mmm")", used" ($importingTime - $startTime) outLog ("finished: importing at " + $importingTime.ToString("yyyy.MM.dd-HH:mm:ss.mmm") + ", used " + ($importingTime - $startTime))
outLog "finished: importing at " $importingTime.ToString("yyyy.MM.dd-HH:mm:ss.mmm") ", used " ($importingTime - $startTime)
"Name;Path;ShortCut;Description" | Out-File "$AppAccessTmpFilePath" -Encoding "utf8NoBom" "Name;Path;ShortCut;Description" | Out-File "$AppAccessTmpFilePath" -Encoding "utf8NoBom"
"Name;Path;ShortCut;Description" | Out-File "$FilesystemAccessTmpFilePath" -Encoding "utf8NoBom" "Name;Path;ShortCut;Description" | Out-File "$FilesystemAccessTmpFilePath" -Encoding "utf8NoBom"
@ -223,14 +222,13 @@ $ADObjectsSecurity += prepareADObjectsByType $FI.TypeTagSecurity
$ADObjectsRole += prepareADObjectsByType $FI.TypeTagRole $ADObjectsRole += prepareADObjectsByType $FI.TypeTagRole
$preparingTime = Get-Date $preparingTime = Get-Date
# Write-Host "finished: preparing at " $preparingTime.ToString("yyyy.MM.dd-HH:mm:ss.mmm")", used" ($preparingTime - $importingTime) outLog ("finished: preparing at " + $preparingTime.ToString("yyyy.MM.dd-HH:mm:ss.mmm") + ", used " + ($preparingTime - $importingTime))
outLog "finished: preparing at " $preparingTime.ToString("yyyy.MM.dd-HH:mm:ss.mmm") ", used " ($preparingTime - $importingTime) outlog ("found " + $ADObjectsOrganisation.Count + " entries of type " + $FI.TypeTagOrganisation)
outlog "found " $ADObjectsOrganisation.Count " entries of type " $FI.TypeTagOrganisation outlog ("found " + $ADObjectsAppAccess.Count + " entries of type " + $FI.TypeTagAppAccess)
outlog "found " $ADObjectsAppAccess.Count " entries of type " $FI.TypeTagAppAccess outlog ("found " + $ADObjectsFilesystemAccess.Count + " entries of type " + $FI.TypeTagFilesystemAccess)
outlog "found " $ADObjectsFilesystemAccess.Count " entries of type " $FI.TypeTagFilesystemAccess outlog ("found " + $ADObjectsAppConfiguration.Count + " entries of type " + $FI.TypeTagAppConfiguration)
outlog "found " $ADObjectsAppConfiguration.Count " entries of type " $FI.TypeTagAppConfiguration outlog ("found " + $ADObjectsSecurity.Count + " entries of type " + $FI.TypeTagSecurity)
outlog "found " $ADObjectsSecurity.Count " entries of type " $FI.TypeTagSecurity outlog ("found " + $ADObjectsRole.Count + " entries of type " + $FI.TypeTagRole)
outlog "found " $ADObjectsRole.Count " entries of type " $FI.TypeTagRole
$processingTime = Get-Date $processingTime = Get-Date
@ -272,7 +270,7 @@ if ($Config.WriteKURS)
. $InstitutsSourcePathKURS . $InstitutsSourcePathKURS
WriteKURS WriteKURS
$endTimeWriteKURS = Get-Date $endTimeWriteKURS = Get-Date
outLog "finished: processing WriteKURS at " $endTimeWriteKURS.ToString("HH:mm:ss.mmm")", used " ($endTimeWriteKURS - $startTimeWriteKURS) outLog ("finished: processing WriteKURS at " + $endTimeWriteKURS.ToString("HH:mm:ss.mmm") + ", used " + ($endTimeWriteKURS - $startTimeWriteKURS))
} }
else else
{ {
@ -285,7 +283,7 @@ if ($Config.TransferDAW)
. $InstitutsSourcePathDAW . $InstitutsSourcePathDAW
TransferDAW TransferDAW
$endTimeTransferDAW = Get-Date $endTimeTransferDAW = Get-Date
outLog "finished: processing TransferDAW at " $endTimeTransferDAW.ToString("HH:mm:ss.mmm")", used " ($endTimeTransferDAW - $startTimeTransferDAW) outLog ("finished: processing TransferDAW at " + $endTimeTransferDAW.ToString("HH:mm:ss.mmm") + ", used " + ($endTimeTransferDAW - $startTimeTransferDAW))
} }
else else
{ {
@ -297,7 +295,7 @@ if ($Config.PostProcess)
$startTimePostProcess = Get-Date $startTimePostProcess = Get-Date
postProcess postProcess
$endTimePostProcess = Get-Date $endTimePostProcess = Get-Date
outLog "finished: processing PostProcess at " $endTimePostProcess.ToString("HH:mm:ss.mmm")", used " ($endTimePostProcess - $startTimePostProcess) outLog ("finished: processing PostProcess at " + $endTimePostProcess.ToString("HH:mm:ss.mmm") + ", used " + ($endTimePostProcess - $startTimePostProcess))
} }
else else
{ {
@ -306,9 +304,9 @@ else
$endTime = Get-Date $endTime = Get-Date
outLog "finished: processing at " $endTime.ToString("HH:mm:ss.mmm")", used " ($endTime - $processingTime) outLog ("finished: processing at " + $endTime.ToString("HH:mm:ss.mmm") + ", used " + ($endTime - $processingTime))
outLog "finished: ========================================================== " $endTime.ToString("yyyy.MM.dd-HH:mm:ss.mmm") outLog ("finished: ========================================================== " + $endTime.ToString("yyyy.MM.dd-HH:mm:ss.mmm"))
outLog "used: "($endTime - $startTime) outLog ("used: " + ($endTime - $startTime))
# } # }
# finally # finally

20
Test-ScriptSyntax.ps1 Normal file
View file

@ -0,0 +1,20 @@
# Test-ScriptSyntax.ps1 - parses all .ps1 files without executing them
param([string] $Path = ".")
Get-ChildItem -Path $Path -Filter *.ps1 | ForEach-Object {
$tokens = $null
$errors = $null
[System.Management.Automation.Language.Parser]::ParseFile(
$_.FullName, [ref]$tokens, [ref]$errors) | Out-Null
if ($errors.Count -gt 0)
{
Write-Output "FAIL: $($_.Name) ($($errors.Count) Fehler)"
$errors | ForEach-Object {
Write-Output (" Zeile {0}: {1}" -f $_.Extent.StartLineNumber, $_.Message)
}
}
else
{
Write-Output "OK: $($_.Name)"
}
}