ageers
Goto Top

Optimierung eines Powershell Skripts zum erstellen eines Projektordners mit Setzen von Ordnerberechtigungen

Hilfe bei Optmierung eines Powershell Skripts um Projektordner zu erstellen

Hallo,

Ich habe mir ein Skript geschrieben das mir einen Projektordner anlegt und entsprechende Berechtigungen setzt.

Ich suche jetzt ein wenig Hilfe bei der Optimierung:


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

Content-ID: 148127

Url: https://administrator.de/forum/optimierung-eines-powershell-skripts-zum-erstellen-eines-projektordners-mit-setzen-von-ordnerberechtigungen-148127.html

Ausgedruckt am: 22.12.2024 um 16:12 Uhr

77559
77559 02.08.2010 um 17:30:32 Uhr
Goto Top
Ich fass es nicht,
wem willst du denn ernsthaft zumuten sich mit dem Haufen Schrott-Code zu beschäftigen.
Wenn schon reisst man so ein Thema nur an und stellt das nicht auch noch ZWEI-MAL online.

bei Lernresistenz geb ichs auf face-sad

Gruß
LotPings
Biber
Biber 02.08.2010 um 17:56:57 Uhr
Goto Top
[OT] @77559

Aber, aber....
Nicht so inflexibel.
Schreib doch deine Function Set-MyACL($AclPath, $User) aus dem letzten Thread ein bisschen um in Function Kiss-MyButt( $User).
[/OT]

@aGeers
Ganz verstehe ich allerdings auch nicht, wie du in einem Zwei-Personen-Thread nun ausgerechnet die Lösungsvorschläge des Lordchen überlesen konntest.

Ich meine, so viel abstrakter als ich drückt sich LotPings nun wirklich nicht aus.

Ich versuch mal die drei Grundaussagen aus dem Parallelthread zu übersetzen

  • Wenn irgendwas in einem Batch-Schnipsel 96x mit gleichem Code und nur unterschiedlichen Parametern durchgenudelt wird, dann copy&pastet man/frau nicht 95x den O-Code und überschreibt dann jeden Parameter einzeln, sondern ruft 96x dieselbe Funktion.

  • und dafür schreibt man/frau nicht 96x die Zeile "Hallo-FunCtion-Ick-rufe-Dir('diesmal mit ','Heinz', 'Vonner FiBu')", sondern verwendet dafür ein Schleifenkonstrukt wie For-Each oder was das Werkzeug halt hat

  • und liest die Daten dazu aus einer Textdatei, einer Excel-Tabelle, einer DB oder live aus vorhandenen AD-oder-sonstwas-Strukturen, statt sie per Tastatur in Kot zu meißeln... äh... gießen ..ehmm...schreiben.

Grüße
Biber
aGeers
aGeers 03.08.2010 um 09:14:08 Uhr
Goto Top
Guten Morgen,

Soweit ich die Funktion des Lords verstanden habe war die Funktion auch nur für ein Verzeichnis.

Wie ich bereits geschrieben habe, bringe ich mir gerade erst Powershell bei und bin auch kein Programmierer.

Ich weiß nicht wie ihr angefangen habt, aber ich möchte nicht einfach abschreiben, sondern Funktionen dahinter auch verstehen.

Ich möchte mit den Funktionen, dreifach pipelines und anderes tolles Zeug erst arbeiten, wenn ich das Grundsätzliche verstanden habe.

Ich denke ihr seit auch nicht sofort mit der Doktor arbeit angefangen, oder?

Mit Aussagen wie: "Schreib doch deine Function Set-MyACL($AclPath, $User) aus dem letzten Thread ein bisschen um in Function Kiss-MyButt( $User)." kann ich nichts anfangen

wenn ich das darunterliegende nicht verstehe oder sehe ich das verkehrt?

Insofern mache ich meine Skripte im Augenblick so wie ich Sie verstehe und verkürze Sie dann. Das erste funktionsfähige Skript hatte knapp 1800 Zeilen und jetzt "nur" noch 970 zeilen.

Ich taste mich langsam ran, in dem Tempo wie ich es halt verstehe. Mag seltsam aussehen und/oder wirken, aber es ist so.

Dafür das ich effektiv erst seit kurzem Powershell arbeite, finde ich, habe ich schon eine Menge erreicht.(Auch wenn das seltsam aussieht..)

Natürlich kann man dieses Skript extrem stark verbessern, das ist mir bewusst, sonst würde ich ja nicht hier fragen.

Dies ist auch ein Mitmach Forum und keine Klausur an der Uni.

Ich möchte das auch verstehen und nicht vorgebetet bekommen was man alles tolles machen kann.

Dann kann ich auch hier die Aufgabe stellen, das ihr mir das Skript bastelt und kriegt dafür fettes Danke Schön.

Dann könnte man diesen Bereich auch gleich umbenennen in "Suche Skript, biete Danke schön"...

Deshalb habt ein wenig Geduld und erschiesst nicht jeden, der eure Vorschläge, für die ich sehr dankbar bin, sofort annimmt.

Das ich das Skript zweimal gepostet habe, war nicht so pralle, ok sehe ich ein.

Ich schaue mir die die Funktion des Lords an und versuche Sie zu verstehen...

seeyaa
Ansgar
Biber
Biber 03.08.2010 um 10:34:29 Uhr
Goto Top
Moin aGeers,

inzwischen habe ich mich ja auch wieder ein bisschen beruhigt - nimm es nicht zu persönlich, wenn ich mich gestern etwas aufgeplustert habe.

Geduld ist nicht mein zweiter Vorname... und wenn dein Ziel ist, "Skriptschnipsel nicht einfach abzutippen, sondern zu verstehen", dann sind wir absolut einer Meinung.

Grüße
Biber
77559
77559 03.08.2010 um 16:44:51 Uhr
Goto Top
Zitat von @aGeers:
Hallo aGeers.
Soweit ich die Funktion des Lords verstanden habe war die Funktion auch nur für ein Verzeichnis.
Dann hast du Sinn und Zweck von Funktionen und Subroutinen nicht erfasst.
Du übergibst für immer den gleichen Ablauf unterschiedliche Daten,
im Funktionskopf stehen die zu übergebenden Variablen-Typen/Inhalte (Die Namen können beim Aufrufen der Funktion ganz Andere sein)
und das war bei Set-MyACL sowohl das Verzeichnis als auch der Benutzer

Wie ich bereits geschrieben habe, bringe ich mir gerade erst Powershell bei und bin auch kein Programmierer.
Das ist dann zwar ein schwieriger Einstieg wegen der Objektorientierung von PoSh aber du bist damit nicht unbedingt die erwartete Zielgruppe.

Ich weiß nicht wie ihr angefangen habt, aber ich möchte nicht einfach abschreiben, sondern Funktionen dahinter auch verstehen.
Das hätte ich ja auch gar kein Problem mit, aber warum fragst du dann nicht an der endsprechenden Stelle nach?
Die Fan-Gemeinde von PowerShel ist erst im Aufbau face-wink soviele Antworten hast du ja wohl nicht bekommen.

Ich möchte mit den Funktionen, dreifach pipelines und anderes tolles Zeug erst arbeiten, wenn ich das Grundsätzliche
verstanden habe.
Das IST grundsätzliches Zeug, in jeder Programmiersprache und eben auch in PowerShell.

Ich denke ihr seit auch nicht sofort mit der Doktor arbeit angefangen, oder?
Schwaches Argument, nochmal : das sind Grundlagen.

Mit Aussagen wie: "Schreib doch deine Function Set-MyACL($AclPath, $User) aus dem letzten Thread ein bisschen um in Function
Kiss-MyButt( $User)." kann ich nichts anfangen
Dann verstehst du weder Ironie noch die deutsche Abkürzung LMAA . (war nicht von mir)
wenn ich das darunterliegende nicht verstehe oder sehe ich das verkehrt?
Ansehen, ausprobieren, wenn nicht das erwartetete Ergebnis, ändern und redo from start
- so haben wire das alle gelernt

Insofern mache ich meine Skripte im Augenblick so wie ich Sie verstehe und verkürze Sie dann. Das erste funktionsfähige
Skript hatte knapp 1800 Zeilen und jetzt "nur" noch 970 zeilen.
Du kannst aber schon nachvollziehen das es eine Zumutung für Andere ist, das lesen zu sollen?

Ich taste mich langsam ran, in dem Tempo wie ich es halt verstehe. Mag seltsam aussehen und/oder wirken, aber es ist so.
Ich sehe das etwas anders,
du stellst eine konkrete Frage, kriegst eine konkrete Antwort die du ignorierst und mit etwas neuem kommst.
Nachdem du das jetzt mehrmals gemacht hast - glaubst du wirklich du wirst von mir noch ernst genommen?

Dafür das ich effektiv erst seit kurzem Powershell arbeite, finde ich, habe ich schon eine Menge erreicht.(Auch wenn das
seltsam aussieht..)
Natürlich kann man dieses Skript extrem stark verbessern, das ist mir bewusst, sonst würde ich ja nicht hier fragen.
Mir scheint es mehr nach Selbstbeweihräucherung auszusehen, im Kindergarten kannst du auf alles eine positive Bestätigung erwarten - hier (und von mir) nicht.

Dies ist auch ein Mitmach Forum und keine Klausur an der Uni.
Das Form nennt sich Administrator und von denen erwartet man tatsächlich das sie in der Lage sind sich Problemlösungen selbst zu erarbeiten und gibt nützliche Tips dazu, aber kein Ringelpietz mit anfassen.

Ich möchte das auch verstehen und nicht vorgebetet bekommen was man alles tolles machen kann.
Mir scheint du wiederholst dich jetzt etwas.
Ich habe deinen Code analysiert und ihn auf das notwendige eingedampft,
aber bis auf die Benutzung einer foreach Schleife und einer Funktion (die du in der ISE Hilfe nachlesen kannst) war da nichts Besonderes drin
Ich schrieb "Funktional identisch" und das ist es nun mal.

Dann kann ich auch hier die Aufgabe stellen, das ihr mir das Skript bastelt und kriegt dafür fettes Danke Schön.

Dann könnte man diesen Bereich auch gleich umbenennen in "Suche Skript, biete Danke schön"...

Deshalb habt ein wenig Geduld und erschiesst nicht jeden, der eure Vorschläge, für die ich sehr dankbar bin, sofort
annimmt.
Du beachtest si ja nicht mal, und ICH habe mir scheinbar mehr Mühe gegebenn als du .

Das ich das Skript zweimal gepostet habe, war nicht so pralle, ok sehe ich ein.
Die unangebrachte Länge durch triviale Wiederholungen ist eher das Problem.

Ich schaue mir die die Funktion des Lords an und versuche Sie zu verstehen...
get-help about_functions
oder in der ISE-Hilfe selber Begriff.

Gruß
LotPings
aGeers
aGeers 13.01.2011 um 10:14:55 Uhr
Goto Top
Hallo,

da seit einiger Zeit das Skript erfolgreich im Einsatz wollte ich meine Lösung doch noch loswerden:

$Ziel1 = "$ORGPATH\$SO2\$ordnername"  
$Ziel2 = "$ORGPATH\$SO2\$ordnername_neben"  
$quelle1 = "$ORGPATH\IBB\000000_AAA"  
$quelle2 = "$ORGPATH\HAM\000000_AAA"  
$quelle3 = "$ORGPATH\IBB\000000_AAC"  
$quelle4 = "$ORGPATH\HAM\000000_AAB"  
$robo = "$ORGPATH\IBB\_ORDNER_ANLEGEN\CMD\RobocopyXP026\ROBOCOPY.exe"  

#Test ob Ziel bereits vorhanden ist, ansonsten erstelle ihn

IF ($PA -eq "HAU"){  
                   IF ($SO2 -eq "HAM")  
                      {
                        if (TEST-PATH -path "$ORGPATH\$SO2\$ordnername"){Write-Host "Projektordner bereits vorhanden!"}  
                        else {
                              New-Item "$ORGPATH\$SO2\$ordnername" -type directory  
                              cmd.exe /c "$ROBO" "$QUELLE2" "$ZIEL1" /COPYALL /SEC /MIR /R:0 /W:0  
                             }
                       }
                   ELSE
                        {
                        if (TEST-PATH -path "$ORGPATH\$SO2\$ordnername"){Write-Host "Projektordner bereits vorhanden!"}  
                        else {
                                New-Item "$ORGPATH\$SO2\$ordnername" -type directory  
                                cmd.exe /c "$ROBO" "$QUELLE1" "$ZIEL1" /COPYALL /SEC /MIR /R:0 /W:0  
                                }
                        }
                   }
ELSE
        {
                   IF ($SO2 -eq "HAM")  
                      {
                        if (TEST-PATH -path "$ORGPATH\$SO2\$ordnername_neben"){Write-Host "Projektordner bereits vorhanden!"}  
                        else {
                              New-Item "$ORGPATH\$SO2\$ordnername_neben" -type directory  
                              cmd.exe /c "$ROBO" "$QUELLE4" "$ZIEL2" /COPYALL /SEC /MIR /R:0 /W:0  
                             }
                       }
                   ELSE {
                        if (TEST-PATH -path "$ORGPATH\$SO2\$ordnername_neben"){Write-Host "Projektordner bereits vorhanden!"}  
                        else {
                              New-Item "$ORGPATH\$SO2\$ordnername_neben" -type directory  
                              cmd.exe /c "$ROBO" "$QUELLE3" "$ZIEL2" /COPYALL /SEC /MIR /R:0 /W:0  
                             }
                        }
        }

seeyaa
Ansgar