ageers
Goto Top

Powershell Ordnerberechtigungen setzen mit icacls.exe

Muss in vielen Ordnern die Berechtigung ändern

Hallo,

habe mal wieder eine Frage:

Ich muss ein Script schreiben das Projekte anlegt.

Dieses funktioniert auch soweit, allerdings kriege ich das einafch nicht hin das in Unterordnern die Berechtigungen gesetzt werden.
Ich habe mit Set-ACL erst gearbeitet aber irgendwann habe ich bei 7000 Code zeilen aufgehört, weils zu kompliziert wurde...

Folgendes habe ich versucht
cmd /C \\Domaene\DFS-Freigabe\\Standort1\_ORDNER_ANLEGEN\CMD\icacls.exe "\\domaene\dfs-freiabe\standort1\projekt\ordner1\unterordner1" /grant "domaene\gruppe1:(OI)(CI)M"  "domaene\gruppe2:(OI)(CI)M" /T /C  

Dieses funktioniert soweit.

fange ich allerdings an und baue dort Variablen ein (Was sein muss) funktioniert das nicht mehr, da die Variablen nicht ausgewertet werden.

$ORGPATH = "\\domaene\dfs-freigabe"  
$SO = "Standort1"  
$ORDNERNAME = "252525_rtz"  
$DIR2 = "ordner\unterordner"  
$BENUTZER4 = "domaene\gruppe1"  
$BENUTZER6 = "domaene\gruppe2"  

cmd /C $ORGPATH\STANDORT1\_ORDNER_ANLEGEN\CMD\icacls.exe "$ORGPATH\$SO\$ORDNERNAME\$DIR2" /grant "$BENUTZER4:(OI)(CI)M" "$BENUTZER6:(OI)(CI)M" /T /C  

In diesem Fall bekomme ich die Fehlermeldung das (OI) nicht als cmdlet erkannt wurde. ist aber für vererbung notwendig.

Und ich sehe das die Variable dort drin steht und nicht die Gruppe.

was kann ich machen?
Habe ich tomaten auf den Augen das ich den Fehler nicht sehe?

Danke!
Ageers

Content-ID: 147813

Url: https://administrator.de/contentid/147813

Ausgedruckt am: 14.11.2024 um 03:11 Uhr

77559
77559 28.07.2010 um 15:50:09 Uhr
Goto Top
Hallo Ageers,

da die Zeile09 durch 2 Shells nacheinander geparst wird,
solltest zu verhindern das PoSh versucht zuviel davon auf sich zu beziehen.

Ersetze Zeile09 mal hiermit:
cmd /C "$ORGPATH\STANDORT1\_ORDNER_ANLEGEN\CMD\icacls.exe `"$ORGPATH\$SO\$ORDNERNAME\$DIR2`" /grant `"$BENUTZER4:(OI)(CI)M`" `"$BENUTZER6:(OI)(CI)M`" /T /C"

Gruß
LotPings
aGeers
aGeers 28.07.2010 um 18:30:55 Uhr
Goto Top
hi!

Habe mir eine Lösung ausgearbeitet mit der ich mit Boardmittel alles erreiche und trotzdem es kürzer ist als Vorher....
Und alles schön variabel...

Ist auch übersichtlicher als wenn alles in einer Zeile steht...
Denke ich..

Seeyaa
Ageers
#ORDNERBERECHTIGUNGEN SETZEN

$folderRights=[System.Security.AccessControl.FileSystemRights]"MODIFY"   
$InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"  
$PropagationFlag = [System.Security.AccessControl.PropagationFlags]"None"  
$objType =[System.Security.AccessControl.AccessControlType]"Allow"  
             
$DIRVAR = $DIR2
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER4, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER6, $folderRights, $InheritanceFlag, $PropagationFlag, $objType)
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER8, $folderRights, $InheritanceFlag, $PropagationFlag, $objType)
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER10, $folderRights, $InheritanceFlag, $PropagationFlag, $objType)
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER12, $folderRights, $InheritanceFlag, $PropagationFlag, $objType)
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER14, $folderRights, $InheritanceFlag, $PropagationFlag, $objType)
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER16, $folderRights, $InheritanceFlag, $PropagationFlag, $objType)
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER18, $folderRights, $InheritanceFlag, $PropagationFlag, $objType)
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER20, $folderRights, $InheritanceFlag, $PropagationFlag, $objType)
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER22, $folderRights, $InheritanceFlag, $PropagationFlag, $objType)
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER24, $folderRights, $InheritanceFlag, $PropagationFlag, $objType)
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER26, $folderRights, $InheritanceFlag, $PropagationFlag, $objType)
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER28, $folderRights, $InheritanceFlag, $PropagationFlag, $objType)
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
77559
77559 28.07.2010 um 19:53:53 Uhr
Goto Top
Hallo Ageers,

das ist, auch wenn es kürzer als Vorher sein soll, immer noch fürchterlich redundant.

Dies sollte fiunktional identisch sein (du hast schon einmal von Funktionen gehört?) Ungetestet
#ORDNERBERECHTIGUNGEN SETZEN

$AclPath = "$ORGPATH\$SO\$ordnername\$DIR2"  

foreach ($User in $BENUTZER4, $BENUTZER6, $BENUTZER8, $BENUTZER10, $BENUTZER12, 
                  $BENUTZER14, $BENUTZER16, $BENUTZER18, $BENUTZER20, $BENUTZER22, 
                  $BENUTZER24, $BENUTZER26, $BENUTZER28) {Set-MyACL ($AclPath, $User)}

Function Set-MyACL($AclPath, $User) {
  $ACL = Get-Acl $AclPath
  $AR = New-Object System.Security.AccessControl.FileSystemAccessRule ( 
          $User, 
         [System.Security.AccessControl.FileSystemRights]"MODIFY",   
         [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit",   
         [System.Security.AccessControl.PropagationFlags]"None",   
         [System.Security.AccessControl.AccessControlType]"Allow"  
  )
  $Acl.SetAccessRule($Ar) 
  Set-Acl $AclPath $ACL
}

Gruß
LotPings
aGeers
aGeers 02.08.2010 um 12:31:10 Uhr
Goto Top
Hallo habe das Skript soweit fertig.

Es funktioniert soweit super, allerdings frage ich mich ob es nicht ein wenig flexibler geht...

Ich meine ob es nicht geht, das man die gesamte Ordnerstruktur eines Musterordners einliest mit den Berechtigungen und dementsprechend einen neuen Projektordner anlegt.

habe mir folgendes bereits überlegt:

#*********************************************************************************************** 
# abc ORG_PRO Projekterstellung
# =============================
# Version: 1.0
#
# Ansgar Geers
#*********************************************************************************************** 


# Variablen setzen
Write-Host "_"  
$PN = Read-Host -Prompt "Bitte Projektnummer eingeben:"  
Write-Host "_"  
$PK = Read-Host -Prompt "Bitte Projektkuerzel eingeben:"  

$datum = Get-Date -Format yyyyMMdd
$zeit = Get-Date -format t
$user = $env:Username
$computer = get-content env:computername
$ordnername = "$PN" + "_" + "$PK"  
$ORGPATH = "\\abc.de\ORG_PRO"  
$logpath = "$ORGPATH\ST1\_ORDNER_ANLEGEN\LOGS"  


# Standort Menü
Write-Host "_"  
Write-Host "BITTE STANDORT WÄHLEN"  
Write-Host "1. STANDORT1"  
Write-Host "2. STANDORT2"  
Write-Host "3. STANDORT3"  
Write-Host "4. STANDORT4"  
Write-Host "5. STANDORT5"  
Write-Host "6. STANDORT6"  
Write-Host " "  

$title = "Standort wählen"  
$message = "Für welchen Standort soll das Projekt angelegt werden?"  

$1 = New-Object System.Management.Automation.Host.ChoiceDescription "&1 STANDORT1", `  
    "STANDORT1."  

$2 = New-Object System.Management.Automation.Host.ChoiceDescription "&2 STANDORT2", `  
    "STANDORT2"  

$3 = New-Object System.Management.Automation.Host.ChoiceDescription "&3 STANDORT3", `  
    "STANDORT3"  

$4 = New-Object System.Management.Automation.Host.ChoiceDescription "&4 STANDORT4", `  
    "STANDORT4"  

$5 = New-Object System.Management.Automation.Host.ChoiceDescription "&5 STANDORT5", `  
    "STANDORT5"  
    
$6 = New-Object System.Management.Automation.Host.ChoiceDescription "&6 STANDORT6", `  
    "STANDORT6"         
$options = [System.Management.Automation.Host.ChoiceDescription[]]($1, $2, $3, $4, $5, $6)

$result = $host.ui.PromptForChoice($title, $message, $options, 0)

switch ($result)
    {
        0 {
           "** STANDORT STANDORT1 **";  
           $SO = "ST1";  
           break;
          }
        1 {
           "**STANDORT STANDORT2 **";  
           $SO = "ST2";  
           break;
          }
        2 {
           "** STANDORT STANDORT3 **";  
           $SO = "ST3";  
           break;
          }
        3 {
           "** STANDORT STANDORT4 **";  
           $SO = "ST4";  
           break;
          }
        4 {
           "** STANDORT STANDORT5 **";  
           $SO = "ST5";  
           break;
          }
        5 {
           "** STANDORT STANDORT6 **";  
           $SO = "st6";  
           break;
          }
        default {
          "** Die AUSWAHL ENTSPRACH NICHT DEN NUMMER 1-6! **";  
          break;
          }
    }

$DIRS=get-childitem "$ORGPATH\$SO\$ordnername\000000_MUSTERORDNER" | where {$_.psIsContainer -eq $true}  
$DIRS | foreach-object -process {new-item -path "$ORGPATH\$SO\$ordnername\$_.fullname"  -type directory}  
$DIRS | foreach-object -process {$ACL1=Get-Acl $_.fullname"}  
$ACL1 | foreach-object -process {$ACL2.SetAccessRule($ACL1)}
$DIRS | foreach-object -process {Set-Acl $ORGPATH\$SO\$ordnername\$_.fullname $ACL2"}  

Es ginge auch mit Copy-Item aber die Berechtigungen in den Untersten Ordnern muss ich eh einlesen...

Das Problem ist noch bei .Fullname das er noch gesamten Pfad und mit .NAME nur den Ordnernamen
Hat da jemand eine Idee zu? Bin noch nicht wirklich bewandert in Powershell


Hier mein funktionierendes Skript:


#*********************************************************************************************** 
# abc ORG_PRO Projekterstellung
# =============================
# Version: 1.0
#
# Ansgar Geers
#*********************************************************************************************** 


# Variablen setzen
Write-Host "_"  
$PN = Read-Host -Prompt "Bitte Projektnummer eingeben:"  
Write-Host "_"  
$PK = Read-Host -Prompt "Bitte Projektkuerzel eingeben:"  

$datum = Get-Date -Format yyyyMMdd
$zeit = Get-Date -format t
$user = $env:Username
$computer = get-content env:computername
$ordnername = "$PN" + "_" + "$PK"  
$ORGPATH = "\\abc.de\ORG_PRO"  
$logpath = "$ORGPATH\ST1\_ORDNER_ANLEGEN\LOGS"  


# Standort Menü
Write-Host "_"  
Write-Host "BITTE STANDORT WÄHLEN"  
Write-Host "1. STANDORT1"  
Write-Host "2. STANDORT2"  
Write-Host "3. STANDORT3"  
Write-Host "4. STANDORT4"  
Write-Host "5. STANDORT5"  
Write-Host "6. STANDORT6"  
Write-Host " "  

$title = "Standort wählen"  
$message = "Für welchen Standort soll das Projekt angelegt werden?"  

$1 = New-Object System.Management.Automation.Host.ChoiceDescription "&1 STANDORT1", `  
    "STANDORT1."  

$2 = New-Object System.Management.Automation.Host.ChoiceDescription "&2 STANDORT2", `  
    "STANDORT2"  

$3 = New-Object System.Management.Automation.Host.ChoiceDescription "&3 STANDORT3", `  
    "STANDORT3"  

$4 = New-Object System.Management.Automation.Host.ChoiceDescription "&4 STANDORT4", `  
    "STANDORT4"  

$5 = New-Object System.Management.Automation.Host.ChoiceDescription "&5 STANDORT5", `  
    "STANDORT5"  
    
$6 = New-Object System.Management.Automation.Host.ChoiceDescription "&6 STANDORT6", `  
    "STANDORT6"         
$options = [System.Management.Automation.Host.ChoiceDescription[]]($1, $2, $3, $4, $5, $6)

$result = $host.ui.PromptForChoice($title, $message, $options, 0)

switch ($result)
    {
        0 {
           "** STANDORT STANDORT1 **";  
           $SO = "ST1";  
           break;
          }
        1 {
           "**STANDORT STANDORT2 **";  
           $SO = "ST2";  
           break;
          }
        2 {
           "** STANDORT STANDORT3 **";  
           $SO = "ST3";  
           break;
          }
        3 {
           "** STANDORT STANDORT4 **";  
           $SO = "ST4";  
           break;
          }
        4 {
           "** STANDORT STANDORT5 **";  
           $SO = "ST5";  
           break;
          }
        5 {
           "** STANDORT STANDORT6 **";  
           $SO = "st6";  
           break;
          }
        default {
          "** Die AUSWAHL ENTSPRACH NICHT DEN NUMMER 1-6! **";  
          break;
          }
    }
$LOGFILE = "$LOGPATH\$datum" + "_" + "$SO" + "_" + "$ordnername" + "_" + "$USER" + ".TXT"  


#GRUPPEN UND BENUTZERNAMEN

$BENUTZER1 = "DOM\Administrator"  
$BENUTZER2 = "SYSTEM"  
$BENUTZER3 = "DOM\RG_PROJEKTORDNER_BAUPHYSIK_LESEN"  
$BENUTZER4 = "DOM\RG_PROJEKTORDNER_BAUPHYSIK_SCHREIBEN"  
$BENUTZER5 = "DOM\RG_PROJEKTORDNER_BLTG_LESEN"  
$BENUTZER6 = "DOM\RG_PROJEKTORDNER_BLTG_SCHREIBEN"  
$BENUTZER7 = "DOM\RG_PROJEKTORDNER_DGNB_LESEN"  
$BENUTZER8 = "DOM\RG_PROJEKTORDNER_DGNB_SCHREIBEN"  
$BENUTZER9 = "DOM\RG_PROJEKTORDNER_ELT_LESEN"  
$BENUTZER10 = "DOM\RG_PROJEKTORDNER_ELT_SCHREIBEN"  
$BENUTZER11 = "DOM\RG_PROJEKTORDNER_GALA_LESEN"  
$BENUTZER12 = "DOM\RG_PROJEKTORDNER_GALA_SCHREIBEN"  
$BENUTZER13 = "DOM\RG_PROJEKTORDNER_HLS_LESEN"  
$BENUTZER14 = "DOM\RG_PROJEKTORDNER_HLS_SCHREIBEN"  
$BENUTZER15 = "DOM\RG_PROJEKTORDNER_KALK_LESEN"  
$BENUTZER16 = "DOM\RG_PROJEKTORDNER_KALK_SCHREIBEN"  
$BENUTZER17 = "DOM\RG_PROJEKTORDNER_LCC_LESEN"  
$BENUTZER18 = "DOM\RG_PROJEKTORDNER_LCC_SCHREIBEN"  
$BENUTZER19 = "DOM\RG_PROJEKTORDNER_PLG_LESEN"  
$BENUTZER20 = "DOM\RG_PROJEKTORDNER_PLG_SCHREIBEN"  
$BENUTZER21 = "DOM\RG_PROJEKTORDNER_PROJEKTSTEUERUNG_LESEN"  
$BENUTZER22 = "DOM\RG_PROJEKTORDNER_PROJEKTSTEUERUNG_SCHREIBEN"  
$BENUTZER23 = "DOM\RG_PROJEKTORDNER_SEK_LESEN"  
$BENUTZER24 = "DOM\RG_PROJEKTORDNER_SEK_SCHREIBEN"  
$BENUTZER25 = "DOM\RG_PROJEKTORDNER_SIG_LESEN"  
$BENUTZER26 = "DOM\RG_PROJEKTORDNER_SIG_SCHREIBEN"  
$BENUTZER27 = "DOM\RG_PROJEKTORDNER_FAK_LESEN"  
$BENUTZER28 = "DOM\RG_PROJEKTORDNER_FAK_SCHREIBEN"  
$BENUTZER29 = "DOM\RG_PROJEKTORDNER_SCHRIFTVERKEHR_LESEN"  
$BENUTZER30 = "DOM\RG_PROJEKTORDNER_SCHRIFTVERKEHR_SCHREIBEN"  

#ORDNERNAMEN

$DIR1 = "00 ALLGEMEIN"  
$DIR2 = "00 ALLGEMEIN\00-02 Planverzeichnis -verteilung"  
$DIR3 = "00 ALLGEMEIN\00-03 Berechnungen"  
$DIR4 = "00 ALLGEMEIN\00-04 Vermerke"  
$DIR5 = "00 ALLGEMEIN\00-05 Kosten"  
$DIR6 = "00 ALLGEMEIN\00-06 Termine"  
$DIR7 = "00 ALLGEMEIN\00-07 Beschreibungen"  
$DIR8 = "00 ALLGEMEIN\00-08 Raumbuch"  
$DIR9 = "00 ALLGEMEIN\00-20 Verträge Honorare SV abc"  

$DIR10 = "01-00 PLANUNGSGRUNDLAGEN"  

$DIR11 = "01-01 GUTACHTEN KONZEPTE"  

$DIR12 = "02 VORPLANUNG"  
$DIR13 = "02 VORPLANUNG\02-01 Architektur"  
$DIR14 = "02 VORPLANUNG\02-02 HLS"  
$DIR15 = "02 VORPLANUNG\02-03 ELT"  
$DIR16 = "02 VORPLANUNG\02-04 GLT siganet"  
$DIR17 = "02 VORPLANUNG\02-05 Bauphysik"  
$DIR18 = "02 VORPLANUNG\02-06 GaLa"  
$DIR19 = "02 VORPLANUNG\02-10 Projektsteuerung"  
$DIR20 = "02 VORPLANUNG\02-20 LCC"  
$DIR21 = "02 VORPLANUNG\02-21 DGNB"  
$DIR22 = "02 VORPLANUNG\02-40 Phasenabschluss"  

$DIR23 = "03 ENTWURFSPLANUNG"  
$DIR24 = "03 ENTWURFSPLANUNG\03-01 Architektur"  
$DIR25 = "03 ENTWURFSPLANUNG\03-02 HLS"  
$DIR26 = "03 ENTWURFSPLANUNG\03-03 ELT"  
$DIR27 = "03 ENTWURFSPLANUNG\03-04 GLT siganet"  
$DIR28 = "03 ENTWURFSPLANUNG\03-05 Bauphysik"  
$DIR29 = "03 ENTWURFSPLANUNG\03-06 GaLa"  
$DIR30 = "03 ENTWURFSPLANUNG\03-10 Projektsteuerung"  
$DIR31 = "03 ENTWURFSPLANUNG\03-20 LCC"  
$DIR32 = "03 ENTWURFSPLANUNG\03-21 DGNB"  
$DIR33 = "03 ENTWURFSPLANUNG\03-40 Phasenabschluss"  

$DIR34 = "04 GENEHMIGUNGSPLANUNG"  
$DIR35 = "04 GENEHMIGUNGSPLANUNG\04-01 Architektur"  
$DIR36 = "04 GENEHMIGUNGSPLANUNG\04-02 HLS"  
$DIR37 = "04 GENEHMIGUNGSPLANUNG\04-03 ELT"  
$DIR38 = "04 GENEHMIGUNGSPLANUNG\04-04 GLT siganet"  
$DIR39 = "04 GENEHMIGUNGSPLANUNG\04-05 Bauphysik"  
$DIR40 = "04 GENEHMIGUNGSPLANUNG\04-06 GaLa"  
$DIR41 = "04 GENEHMIGUNGSPLANUNG\04-10 Projektsteuerung"  
$DIR42 = "04 GENEHMIGUNGSPLANUNG\04-20 LCC"  
$DIR43 = "04 GENEHMIGUNGSPLANUNG\04-21 DGNB"  
$DIR44 = "04 GENEHMIGUNGSPLANUNG\04-40 Phasenabschluss"  

$DIR45 = "05 AUSFÜHRUNGSPLANUNG"  
$DIR46 = "05 AUSFÜHRUNGSPLANUNG\05-01 Architektur"  
$DIR47 = "05 AUSFÜHRUNGSPLANUNG\05-02 HLS"  
$DIR48 = "05 AUSFÜHRUNGSPLANUNG\05-03 ELT"  
$DIR49 = "05 AUSFÜHRUNGSPLANUNG\05-04 GLT siganet"  
$DIR50 = "05 AUSFÜHRUNGSPLANUNG\05-05 Bauphysik"  
$DIR51 = "05 AUSFÜHRUNGSPLANUNG\05-06 GaLa"  
$DIR52 = "05 AUSFÜHRUNGSPLANUNG\05-10 Projektsteuerung"  
$DIR53 = "05 AUSFÜHRUNGSPLANUNG\05-20 LCC"  
$DIR54 = "05 AUSFÜHRUNGSPLANUNG\05-21 DGNB"  
$DIR55 = "05 AUSFÜHRUNGSPLANUNG\05-40 Phasenabschluss"  

$DIR56 = "06 AUSSCHREIBUNG VERGABE"  
$DIR57 = "06 AUSSCHREIBUNG VERGABE\06-00 GU-Ausschreibung"  
$DIR58 = "06 AUSSCHREIBUNG VERGABE\06-01 Gewerk 01"  
$DIR59 = "06 AUSSCHREIBUNG VERGABE\06-02 Gewerk 02"  
$DIR60 = "06 AUSSCHREIBUNG VERGABE\06-30 Gewerk 30"  

$DIR61 = "08 BAULEITUNG"  
$DIR62 = "08 BAULEITUNG\08-00 Kleinaufträge"  
$DIR63 = "08 BAULEITUNG\08-01 Gewerk 01"  
$DIR64 = "08 BAULEITUNG\08-02 Gewerk 02"  
$DIR65 = "08 BAULEITUNG\08-30 Gewerk 30"  

$DIR66 = "09 DOKUMENTATION REVISION"  
$DIR67 = "09 DOKUMENTATION REVISION\09-01 Wartungsangebote -unterlagen"  
$DIR68 = "09 DOKUMENTATION REVISION\09-02 SiGeKo"  
$DIR69 = "09 DOKUMENTATION REVISION\09-03 Dokumentation Planung"  
$DIR70 = "09 DOKUMENTATION REVISION\09-04 Revision Gewerke"  

$DIR71 = "10 SV ALLGEMEIN"  

$DIR72 = "11 SV BAUHERR"  

$DIR73 = "12 SV NUTZER"  

$DIR74 = "13 SV PROJEKTSTEUERUNG EXTERN"  

$DIR75 = "14 SV FACHING EXTERN"  

$DIR76 = "15 SV BEHÖRDEN"  
$DIR77 = "15 SV BEHÖRDEN\15-01 Bauordnung"  
$DIR78 = "15 SV BEHÖRDEN\15-02 Stadtplanung"  
$DIR79 = "15 SV BEHÖRDEN\15-03 Tiefbau"  
$DIR80 = "15 SV BEHÖRDEN\15-04 Liegenschaft"  
$DIR81 = "15 SV BEHÖRDEN\15-05 Feuerwehr"  
$DIR82 = "15 SV BEHÖRDEN\15-06 Kampfmittel"  
$DIR83 = "15 SV BEHÖRDEN\15-07 Gewerbeaufsicht"  
$DIR84 = "15 SV BEHÖRDEN\15-08 Grünflächen"  
$DIR85 = "15 SV BEHÖRDEN\15-09 Versorgung"  
$DIR86 = "15 SV BEHÖRDEN\15-10 Entsorgung"  

$DIR87 = "20 PRÄSENTATIONEN"  

$DIR88 = "21 FOTOS"  
$DIR89 = "21 FOTOS\21-01 Architektur"  
$DIR90 = "21 FOTOS\21-02 HLS"  
$DIR91 = "21 FOTOS\21-03 ELT"  
$DIR92 = "21 FOTOS\21-04 GLT siganet"  
$DIR93 = "21 FOTOS\21-05 Bauphysik"  
$DIR94 = "21 FOTOS\21-06 GaLa"  
$DIR95 = "21 FOTOS\21-10 Projektsteuerung"  
$DIR96 = "21 FOTOS\21-20 LCC"  
$DIR97 = "21 FOTOS\21-21 DGNB"  


# Erstellt die Verzeichnisstruktur aus den oben erstellten Variablen

New-Item "$ORGPATH\$SO\$ordnername" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR1" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR2" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR3" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR4" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR5" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR6" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR7" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR8" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR9" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR10" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR11" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR12" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR13" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR14" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR15" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR16" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR17" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR18" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR19" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR20" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR21" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR22" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR23" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR24" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR25" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR26" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR27" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR28" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR29" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR30" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR31" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR32" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR33" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR34" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR35" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR36" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR37" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR38" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR39" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR40" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR41" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR42" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR43" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR44" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR45" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR46" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR47" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR48" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR49" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR50" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR51" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR52" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR53" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR54" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR55" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR56" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR57" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR58" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR59" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR60" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR61" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR62" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR63" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR64" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR65" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR66" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR67" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR68" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR69" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR70" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR71" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR72" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR73" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR74" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR75" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR76" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR77" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR78" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR79" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR80" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR81" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR82" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR83" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR84" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR85" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR86" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR87" -type directory  

New-Item "$ORGPATH\$SO\$ordnername\$DIR88" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR89" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR90" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR91" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR92" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR93" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR94" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR95" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR96" -type directory  
New-Item "$ORGPATH\$SO\$ordnername\$DIR97" -type directory  

#ORDNERBERECHTIGUNGEN SETZEN
# $folderRights=[System.Security.AccessControl.FileSystemRights]"MODIFY"  
#         Vergibt das ändern Recht
# $InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"  
#         Stellt die Vererbung auf Unterordner und Dateien
# $PropagationFlag = [System.Security.AccessControl.PropagationFlags]"InheritOnly"  
#         Stellt die Rechtevergabe so ein das Sie nur für Unterordner und Dateien übernommen wird aber nicht für der Ordner selber
# $objType =[System.Security.AccessControl.AccessControlType]"Allow"  
#         Art der Rechtevergabe Zulassen oder Verweigern

$folderRights=[System.Security.AccessControl.FileSystemRights]"MODIFY"   
$InheritanceFlag = [System.Security.AccessControl.InheritanceFlags]"ContainerInherit, ObjectInherit"  
$PropagationFlag = [System.Security.AccessControl.PropagationFlags]"InheritOnly"  
$objType =[System.Security.AccessControl.AccessControlType]"Allow"  



# $DIRVAR = $DIR2
#         Erstellt eine neue Variable aus der Ordnervariable, ist für Ordner mit mehreren Benutzern gedacht
# $ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
#         Liest die vorhandene Rechtestruktur Von dem Verzeichnis aus
# $AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType)
#         Erstellt das neue Recht für den hinzu zufügenen Benutzer
# $Acl.SetAccessRule($Ar)
#         Fügt der vorhandenen Rechtestruktur das neue Recht hinzu
# Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
#         Setzt die neue Rechtestruktur

        
$DIRVAR = $DIR2
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL

           
$DIRVAR = $DIR3
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL

$DIRVAR = $DIR4
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR5
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR6
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR7
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR8
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR9
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR10
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR11
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR13
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER20, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR14
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER14, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR15
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER10, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR16
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER26, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR17
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER4, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR18
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER12, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR19
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER22, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR20
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER18, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR21
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER8, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR22
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR24
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER20, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR25
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER14, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR26
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER10, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR27
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER26, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR28
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER4, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR29
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER12, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR30
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER22, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR31
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER18, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR32
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER8, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR33
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR35
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER20, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR36
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER14, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR37
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER10, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR38
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER26, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR39
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER4, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR40
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER12, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR41
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER22, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR42
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER18, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR43
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER8, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR44
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR46
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER20, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR47
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER14, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR48
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER10, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR49
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER26, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR50
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER4, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR51
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER12, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR52
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER22, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR53
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER18, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR54
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER8, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR55
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR56
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER16, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR61
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER6, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR67
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR68
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR68
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR69
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR70
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR71
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR72
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR73
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR74
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR75
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR77
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR78
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR79
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR80
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR81
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR82
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR83
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR84
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR85
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL



$DIRVAR = $DIR86
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR87
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER30, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR89
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER20, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR90
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER14, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR91
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER10, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR92
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER26, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR93
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER4, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR94
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER12, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR95
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER22, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR96
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER18, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL


$DIRVAR = $DIR97
$ACL=Get-Acl $ORGPATH\$SO\$ordnername\$DIRVAR
$AR = New-Object System.Security.AccessControl.FileSystemAccessRule ($BENUTZER8, $folderRights, $InheritanceFlag, $PropagationFlag, $objType) 
$Acl.SetAccessRule($Ar) 
Set-Acl $ORGPATH\$SO\$ordnername\$DIRVAR $ACL
aGeers
aGeers 02.08.2010 um 13:25:17 Uhr
Goto Top
DA dieses am gewählten Thema vorbei geht, schreibe ich das mal in einer neuen Frage
77559
77559 02.08.2010 um 17:24:37 Uhr
Goto Top
Hallo habe das Skript soweit fertig.

Es funktioniert soweit super, allerdings frage ich mich ob es nicht ein wenig flexibler geht...

Warum habe ich dir eigentlich die Funktion geschrieben, wenn du iimmer noch der Meinung bist, das Redundanz im Quadrat einfacher ist.

Ich meine ob es nicht geht, das man die gesamte Ordnerstruktur eines Musterordners einliest mit den Berechtigungen und dementsprechend einen neuen Projektordner anlegt.

Solche Zusammenhänge kodiert man doch nicht fest im Code, sondern liest sie sich ggfs über eine Datenbank/Datei ein.

habe mir folgendes bereits überlegt:
Wenn deine Überlegungen immer in fast 1000 Zeilen Kot Code münden (der dann auch noch online gestellt wird) , dann solltest du dich vielleicht nach einer anderen Tätigkeit umsehen.

Gruß
LotPings

PS: Ich hoffe mal du hast die 972 Zeilenn jetzt nicht nochmal woanders engestellt.