From 630770f8105a7ebb61d00e105d1816dcbbc1a69b Mon Sep 17 00:00:00 2001 From: Tim Eertmoed Date: Mon, 11 Nov 2024 07:53:53 +0100 Subject: [PATCH] scripts/AD_AIO.ps1 aktualisiert --- scripts/AD_AIO.ps1 | 66 +++++++++++++++++++++++++++++++++------------- 1 file changed, 48 insertions(+), 18 deletions(-) diff --git a/scripts/AD_AIO.ps1 b/scripts/AD_AIO.ps1 index 3f6f9d3..d152e51 100644 --- a/scripts/AD_AIO.ps1 +++ b/scripts/AD_AIO.ps1 @@ -243,35 +243,65 @@ function Create-User { $outputTextBox.AppendText("Fehlerdetails: $_`r`n") } - # Gruppenzuordnung durchführen, auch wenn der Benutzer schon existiert + # Gruppenzuordnung durchführen, auch wenn der Benutzer schon existiert if ($globalGroup) { # Gruppen-OU immer auf die Master-OU setzen try { # Überprüfen, ob die Gruppe existiert $groupOU = $masterGroupOUComboBox.SelectedItem - $group = Get-ADGroup -Filter { Name -eq $globalGroup } - try { - # Gruppe erstellen, falls sie nicht existiert - $groupName = "GG_" + $globalGroup - New-ADGroup -Name $groupName ` - -GroupScope Global ` - -Path $groupOU ` - -Description "Globale Gruppe für $groupName" - - # Erfolgsnachricht + $group = Get-ADGroup -Filter { Name -eq $globalGroup } -ErrorAction SilentlyContinue + + # Wenn die Gruppe nicht existiert, wird sie erstellt + if (-not $group) { + try { + $groupName = "GG_" + $globalGroup + # Erstelle die Gruppe + New-ADGroup -Name $groupName ` + -GroupScope Global ` + -Path $groupOU ` + -Description "Globale Gruppe für $groupName" + + # Erfolgsnachricht für Gruppenerstellung + $outputTextBox.SelectionColor = 'Green' + $outputTextBox.AppendText("Globale Gruppe '$groupName' wurde erfolgreich erstellt.`r`n") + } + catch { + # Fehler bei der Erstellung der Gruppe + $outputTextBox.SelectionColor = 'Red' + $outputTextBox.AppendText("Fehler bei der Erstellung der Gruppe '$groupName':`r`n") + $outputTextBox.AppendText("Fehlerdetails: $_`r`n") + return + } + } else { + # Erfolgsnachricht, falls die Gruppe bereits existiert $outputTextBox.SelectionColor = 'Green' - $outputTextBox.AppendText("Globale Gruppe '$groupName' wurde erfolgreich erstellt.`r`n") + $outputTextBox.AppendText("Gruppe '$globalGroup' existiert bereits.`r`n") } - catch { + + # Benutzer zur Gruppe hinzufügen + if ($username) { + try { + Add-ADGroupMember -Identity $groupName -Members $username + + # Erfolgsnachricht für das Hinzufügen des Benutzers + $outputTextBox.SelectionColor = 'Green' + $outputTextBox.AppendText("Benutzer '$username' wurde erfolgreich zur Gruppe '$groupName' hinzugefügt.`r`n") + } + catch { + # Fehler bei der Hinzufügung des Benutzers + $outputTextBox.SelectionColor = 'Red' + $outputTextBox.AppendText("Fehler bei der Hinzufügung des Benutzers '$username' zur Gruppe '$groupName':`r`n") + $outputTextBox.AppendText("Fehlerdetails: $_`r`n") + } + } else { $outputTextBox.SelectionColor = 'Red' - $outputTextBox.AppendText("Fehler bei der Erstellung der Gruppe '$groupName':`r`n") - $outputTextBox.AppendText("Fehlerdetails: $_`r`n") + $outputTextBox.AppendText("Benutzername '$username' ist nicht definiert.`r`n") } } catch { - # Fehler bei der Gruppenzuordnung + # Fehler bei der Gruppenzuordnung oder übergeordneten Fehler $outputTextBox.SelectionColor = 'Red' - $outputTextBox.AppendText("Fehler bei der Gruppenzuordnung für Benutzer '$username':`r`n") + $outputTextBox.AppendText("Fehler bei der Verarbeitung der Gruppe '$globalGroup':`r`n") $outputTextBox.AppendText("Fehlerdetails: $_`r`n") } } @@ -701,4 +731,4 @@ $form.Controls.Add($btnCreateGroups) $form.Controls.Add($btnADGDL) # Anzeigen des Formulars -$form.ShowDialog() \ No newline at end of file +$form.ShowDialog()