luzimarko
Goto Top

AD Gruppen erstellen

Hallo ich bin noch ein Relative frischer Serveradmin und hab die ganze Nacht nach einer Lösung gesucht aber nichts passendes gefunden und mir blieb nur ein CopyPaste leben
Ich baue gerade ein neue RDS Umgebung auf für Windows Server 2019 und die alte erhält ein Update und ich hänge gerade bei den Vorbereitungen fest.

Ich hänge gerade an den Punkt das ich ca 150 Gruppen erstellen muss ein mal als LocalGruppe für die Programme und als Globale Gruppe
Manuell funktionierte es aber für einige gruppen geht es aber für viele Gruppen ist es nervig.
habe new -adgroup nun benutzt weil ich nicht weiter komme vielleicht hat der eine oder andere Zeit mir zu helfen.

ich hätte das gerne als CSV Lösung in 2 Teilen .

Teil A
die CSV hab ich schon vorbereitet

GroupName,GroupType,GroupLocation
Gruppe02,DomainLocal, "OU=RDS,OU=Server,DC=Entenhausen,DC=local"
Gruppe01,DomainLocal, "OU=RDS,OU=Server,DC=Entenhausen,DC=local"


Die Gruppe wird zwar erstellt aber in die falsche OU besser gesagt es landet in Entenhausen.local

Import-Module ActiveDirectory
#Import CSV
$path = Split-Path -parent $MyInvocation.MyCommand.Definition
$newpath = $path + "\AD-Grouptest_UTF8.csv"
$csv = @()
$csv = Import-Csv -Path $newpath

#Get Domain Base
$searchbase = Get-ADDomain | ForEach { $_.DistinguishedName }

#Loop through all items in the CSV
ForEach ($item In $csv)
{
#Create the group if it doesn't exist
$create = New-ADGroup -Name $item.GroupName -GroupScope $item.GroupType -Path $($searchbase)
Write-Host "Group $($item.GroupName) created!"

Es Muss was mit Searchbase zu tun haben aber sehe den fehler nicht face-sad

TEIL B

Ich hab nun diese Gruppen erstellt wie bekomme ich nun die ganzen Einträge von der vorhanden gruppe in diese als Memberof

group02 ist Memberof DL_Group02 (wo die User enthalten sind )
ich möchte ungerne alle gruppen öffnen und die gruppe manuel eintragen hat wer eine Idee

Vielen Dan im Voraus

Content-ID: 534543

Url: https://administrator.de/forum/ad-gruppen-erstellen-534543.html

Ausgedruckt am: 22.12.2024 um 12:12 Uhr

142232
142232 12.01.2020 aktualisiert um 19:30:41 Uhr
Goto Top
Die Gruppe wird zwar erstellt aber in die falsche OU besser gesagt es landet in Entenhausen.local
Wieso wundert dich das du selbst hast ja die entsprechende Variable $searchbase (in der dein Entenhausen.local drin steht) an den Parameter -Path gebunden anstatt dort die Variable $item.GroupLocation zu verwenden wie du es bei den anderen Parametern ja auch getan hast face-smile.
New-ADGroup -Name $item.GroupName -GroupScope $item.GroupType -Path $item.GroupLocation
Da war wohl ein Kaffee zu wenig heute 8-).
Ich hab nun diese Gruppen erstellt wie bekomme ich nun die ganzen Einträge von der vorhanden gruppe in diese als Memberof
Get-AdGroupMember zum Auslesen und
Add-AdGroupmember zum Hinzufügen
sind deine Freunde face-smile.
BirdyB
BirdyB 12.01.2020 um 20:26:58 Uhr
Goto Top
Unabhängig davon würde ich gerne noch darauf hinweisen, dass .local keine gute Idee ist...
LuziMarko
LuziMarko 13.01.2020 um 03:13:24 Uhr
Goto Top
Oh man das war wohl wirklich einer zuviel, vielen Dank
LuziMarko
LuziMarko 13.01.2020 um 03:14:48 Uhr
Goto Top
Nach außen ist es nicht local ist nur der Aufbau innerhalb danke dir trotzdem für den tip

Muss mich mit einigen Themen noch beschäftigen
BirdyB
BirdyB 13.01.2020 um 06:08:11 Uhr
Goto Top
Auch intern solltest du nicht .local nehmen!
.local ist für mDNS reserviert...
LuziMarko
LuziMarko 13.01.2020 um 09:10:21 Uhr
Goto Top
Bin noch relativ neu in der Firma (Dienstleister) dort wird es wohl so gemacht ist daher auch neu für mich das local genutzt wird.
Trotzdem Danke Dir
LuziMarko
LuziMarko 13.01.2020 aktualisiert um 09:32:28 Uhr
Goto Top
Sorry das ich nochmal störe

Ich möchte das Ganze als CSV Lösung vorbereiten

CSV
GroupName,GroupMember

$csv = Import-Csv -Path $newpath

#Gruppennamen aus der CSV herausholen
ForEach ($item In $csv)
{
Get-AdGroupMember $item.GroupName | Add-AdGroupmember $item.Groupmember
}
142232
Lösung 142232 13.01.2020 aktualisiert um 10:01:31 Uhr
Goto Top
Wenn du die User direkt so über die Pipe hinzufügen willst nutze Add-ADPricipleGroupmembership, wenn in "GroupMember" deiner CSV die neue Gruppe steht dann:
#....CSV schleife
Get-AdGroupMember $item.GroupName | Add-ADPrincipleGroupmembership -Memberof  $item.GroupMember
#....
ansonsten eine weitere innere Schleife drum bauen oder das Array dem Parameter Members übergeben wenn du Add-ADGroupMember nutzen willst
#....CSVschleife
Get-AdGroupMember $item.GroupName | %{ Add-ADGroupMember $item.GroupMember -Members $_.SamAccountName}
#....
Oder auch diese Variante kannst du nutzen
#....CSVschleife
 Add-ADGroupMember $item.GroupMember -Members (Get-AdGroupMember $item.GroupName ).SamAccountName
#....
Sorry das ich nochmal störe
Alter jetzt ist mein Kaffee kalt ☕️, das geht ja gar nicht, gleich mal den Stift neuen machen lassen, dann kommt der auch mal langsam in Wallung face-smile.

Wenn's das dann war bitte noch den Haken dran nicht vergessen.
LuziMarko
LuziMarko 13.01.2020 um 22:22:03 Uhr
Goto Top
Vielen Dank