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:
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:
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
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
6 Kommentare
Neuester Kommentar
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
Gruß
LotPings
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
Gruß
LotPings
[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
Grüße
Biber
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
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
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
Hallo aGeers.
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
Die Fan-Gemeinde von PowerShel ist erst im Aufbau soviele Antworten hast du ja wohl nicht bekommen.
- so haben wire das alle gelernt
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?
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.
oder in der ISE-Hilfe selber Begriff.
Gruß
LotPings
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 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.verstanden habe.
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)Kiss-MyButt( $User)." kann ich nichts anfangen
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?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.
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.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.
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 .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.
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