Marco26
Cadet 3rd Year
- Registriert
- Sep. 2016
- Beiträge
- 37
Hiho ^^
Ich suche schon den ganzen Vormittag nach ner Möglichkeit eine Schleife in diesen Code einzubauen.
Ich poste hier einfach mal den Teil den ich wiederholen will.
Ich hab schon einige Seiten durchgelesen aber konnte irgendwie nichts davon wirklich umsetzten.
Das ganze Programm an sich hat ne GUI und erstellt einen Ordner im Angegebenen Pfad. Dann erstellt er einen Unterordner plus eine AD Gruppe das Vollzugriff auf Ihn hat und deaktiviert die Vererbung in der Gruppe. Einen Share eben ^^ Jetzt soll er den Teil in dem er die Unterordner erstellt so oft wiederholen bis ich auf den Button Ende klicke. Die Abfrage wäre dann wahrscheinlich in die Richtung wenn knopf ja dann wiederholen ansonsten beenden
Hier ist der Teil des Codes der wiederholt werden soll.
Ich suche schon den ganzen Vormittag nach ner Möglichkeit eine Schleife in diesen Code einzubauen.
Ich poste hier einfach mal den Teil den ich wiederholen will.
Ich hab schon einige Seiten durchgelesen aber konnte irgendwie nichts davon wirklich umsetzten.
Das ganze Programm an sich hat ne GUI und erstellt einen Ordner im Angegebenen Pfad. Dann erstellt er einen Unterordner plus eine AD Gruppe das Vollzugriff auf Ihn hat und deaktiviert die Vererbung in der Gruppe. Einen Share eben ^^ Jetzt soll er den Teil in dem er die Unterordner erstellt so oft wiederholen bis ich auf den Button Ende klicke. Die Abfrage wäre dann wahrscheinlich in die Richtung wenn knopf ja dann wiederholen ansonsten beenden
Hier ist der Teil des Codes der wiederholt werden soll.
Code:
#'Ändert den Text, entfernt und deaktiviert das Textfeld und den Knopf, erstellt den Share
$buttonOK2.add_click({
$label.Text = "Wählen Sie aus oder geben Sie selbst an"
New-Item -Name $textfieldName.text -ItemType directory -Path $textfieldpath.text
$form.Controls.Remove($textfieldName)
$form.Controls.Remove($buttonOK2)
$form.Controls.Add($buttonOK3)
$form.Controls.Add($ComboBox)
})
#ComboBox
$ComboBox = New-Object System.Windows.Forms.ComboBox
$ComboBox.Location = New-Object System.Drawing.Size 50,60
$ComboBox.Size = New-Object System.Drawing.Size 200,30
[void] $ComboBox.Items.Add("Kunden")
[void] $ComboBox.Items.Add("Buchhaltung")
[void] $ComboBox.Items.Add("Finanzen")
[void] $ComboBox.Items.Add("Geschäftsführung")
[void] $ComboBox.Items.Add("Verwaltung")
$ComboBox.Height = 70
$form.TopMost = $true
$form.add_Shown({$form.Activate()})
[void] $form.ShowDialog()
#Textknopf
$buttonOK3 = New-Object Windows.Forms.button
$buttonOK3.Location = New-Object Drawing.Point 50,200
$buttonOK3.Text = "OK"
#Ändert den Text, entfernt und deaktiviert das Textfeld und den Knopf, erstellt den Share
$buttonOK3.add_click({
$form.Controls.Remove($Combobox)
$form.Controls.Remove($buttonOK3)
$form.Controls.Remove($buttonCancel)
$form.Controls.Add($EndButton)
$label.Text = "Möchten Sie einen weiteren Ordner erstellen"
#Erstellt den Unterordner
(New-Item -Path ($textfieldPath.Text + $textfieldName.Text) -Name $Combobox.Text -ItemType directory)
#Erstellt die ADGruppe die später zugriff auf den Unterordner bekommt. Name lautet immer "grp_Share_"Name des Unterordners"
New-ADGroup -GroupScope Global -Name ("grp_Share_" + $Combobox.text) -Description "Zugriffsgruppe für den Ordner $combobox.text im Share $textfieldname"
#Deaktiviert Vererbung
$folder = ($textfieldpath.Text + $textfieldname.Text + $Combobox.text)
$acl2 = Get-Acl -Path $folder
$acl2.SetAccessRuleProtection($True, $True)
set-acl -Path $folder -AclObject $acl2
#Vollzugriff
$Right = "FullControl"
$Path = ($textfieldPath.Text + $textfieldName.Text + $Combobox.Text)
$Principal=("Contoso\grp_Share_" + $Combobox.Text)
$rule=New-Object System.security.AccessControl.FileSystemAccessRule($Principal,$Right,3, 0,"Allow")
$acl = get-acl $Path
$acl.SetAccessRule($rule)
set-acl $Path $acl
})
#Knopf der bei Wiederholung gedrückt werden soll
$JaButton = New-Object Windows.Forms.Button
$JaButton.Location = New.Object Drawing.Point50, 200
$JaButton.Text = "Ja"
$JaButton.Add_Click({