diff --git a/scripts/GGDL_GUI.ps1 b/scripts/GGDL_GUI.ps1 index 1018d7b..36b65de 100644 --- a/scripts/GGDL_GUI.ps1 +++ b/scripts/GGDL_GUI.ps1 @@ -94,22 +94,34 @@ $okButton.Add_Click({ $dl = $dlListBox.SelectedItems foreach ($dlGroup in $dl) { - if (-not (Get-ADGroup -Filter "Name -eq '$dlGroup'")) { - New-ADGroup -Name $dlGroup -GroupScope DomainLocal -GroupCategory Security -Path "OU=DL_Groups,DC=deineDomäne,DC=local" - Write-Output "Gruppe $dlGroup wurde erstellt." - } else { - Write-Output "Gruppe $dlGroup existiert bereits." - } + # Prüfen, ob die Gruppe eine Domänenlokale Gruppe oder eine Globalgruppe ist + if (Get-ADGroup -Filter "Name -eq '$dlGroup'") { + $groupType = (Get-ADGroup -Identity $dlGroup).GroupScope - if (-not (Get-ADGroupMember -Identity $dlGroup -Recursive | Where-Object { $_.SamAccountName -eq $gg })) { - Add-ADGroupMember -Identity $dlGroup -Members $gg - Write-Output "Globalgruppe $gg wurde zur Domänenlokalen Gruppe $dlGroup hinzugefügt." + # Falls es eine Domänenlokale Gruppe ist + if ($groupType -eq 'DomainLocal') { + if (-not (Get-ADGroupMember -Identity $dlGroup -Recursive | Where-Object { $_.SamAccountName -eq $gg })) { + Add-ADGroupMember -Identity $dlGroup -Members $gg + Write-Output "Globalgruppe $gg wurde zur Domänenlokalen Gruppe $dlGroup hinzugefügt." + } else { + Write-Output "Globalgruppe $gg ist bereits Mitglied der Domänenlokalen Gruppe $dlGroup." + } + } + # Falls es eine Globalgruppe ist + elseif ($groupType -eq 'Global') { + if (-not (Get-ADGroupMember -Identity $dlGroup -Recursive | Where-Object { $_.SamAccountName -eq $gg })) { + Add-ADGroupMember -Identity $dlGroup -Members $gg + Write-Output "Globalgruppe $gg wurde zur Globalgruppe $dlGroup hinzugefügt." + } else { + Write-Output "Globalgruppe $gg ist bereits Mitglied der Globalgruppe $dlGroup." + } + } } else { - Write-Output "Globalgruppe $gg ist bereits Mitglied der Domänenlokalen Gruppe $dlGroup." + Write-Output "Die Gruppe $dlGroup existiert nicht." } } - [System.Windows.Forms.MessageBox]::Show("Globalgruppe $gg wurde den Domänenlokalen Gruppe/n $($dl -join ', ') hinzugefügt.") + [System.Windows.Forms.MessageBox]::Show("Globalgruppe $gg wurde den Gruppen $($dl -join ', ') hinzugefügt.") }) $form.Controls.Add($okButton) @@ -123,4 +135,4 @@ $exitButton.Add_Click({ }) $form.Controls.Add($exitButton) -$form.ShowDialog() +$form.ShowDialog() \ No newline at end of file