Syrador 0 Geschrieben 29. Juni 2020 Melden Geschrieben 29. Juni 2020 (bearbeitet) Hallo zusammen, ich versuche seit 3 tagen ein script zu basteln aber komme leider einfach nicht weiter. Meine Aufgabe ist: in einer csv-Datei (geht auch als txt-Datei) sind namen drin, die geprüft werden müssen, ob die aufgelisteten User mitglied der Gruppe "G_VPN" sind. Wenn ja, dann sollen die in die Gruppe "G_Citrix" kopiert und aus der Gruppe "G_VPN" gelöscht werden. Wenn nein, dann soll nichts passieren. Der ganze ablauf soll aber auch via "export-csv" dokumentiert werden. $VPN = Get-ADGroup -filter {Name -like 'G_VPN'} $Citrix= Get-ADGroup -filter {Name -like 'G_Citrix'} $Users = Import-csv -Delimiter ";" -Path "C:\temp\mappe3.csv" ForEach ($User in $Users){ if ((Get-ADPrincipalGroupMembership $User | ?{$_.Name -eq "G_VPN"})){ Add-ADGroupMember -Identity $Citrix.DistinguishedName -Members $User Remove-ADGroupMember -Identity $VPN.DistinguishedName -Members $user export-csv -path "c:\temp\Ergebnis.csv" -Delimiter ";" -NoType -Encoding UTF8 }} Könnt Ihr mir dabei helfen ? Viele Grüße bearbeitet 30. Juni 2020 von Syrador
BOfH_666 586 Geschrieben 29. Juni 2020 Melden Geschrieben 29. Juni 2020 Hallo Syrador und willkommen im MCSEboard. Ich gehe jetzt einfach mal davon aus, dass Deine CSV eine valide CSV-Datei ist und eine Spalte mit dem Header sAMAccountName enthält. Dann sollte eigentlich Folgendes genügen: $Users = Import-csv -Delimiter ';' -Path 'C:\temp\mappe3.csv' $GroupMemberList = Get-ADGroupMember -Identity 'Test_Gruppe_DM_alt' $Vergleich = Compare-Object -ReferenceObject $Users.sAMAccountName -DifferenceObject $GroupMemberList.SamAccountName -IncludeEqual -ExcludeDifferent Add-ADGroupMember -Identity 'Test_Gruppe_DM_neu' -Members $Vergleich.InputObject Remove-ADGroupMember -Identity 'Test_Gruppe_DM_alt' -Members $Vergleich.InputObject $Vergleich | Export-Csv -Path 'c:\temp\Ergebnis.csv' -Delimiter ';' -NoTypeInformation -Encoding UTF8
Syrador 0 Geschrieben 30. Juni 2020 Autor Melden Geschrieben 30. Juni 2020 14 hours ago, BOfH_666 said: Hallo Syrador und willkommen im MCSEboard. Ich gehe jetzt einfach mal davon aus, dass Deine CSV eine valide CSV-Datei ist und eine Spalte mit dem Header sAMAccountName enthält. Dann sollte eigentlich Folgendes genügen: $Users = Import-csv -Delimiter ';' -Path 'C:\temp\mappe3.csv' $GroupMemberList = Get-ADGroupMember -Identity 'Test_Gruppe_DM_alt' $Vergleich = Compare-Object -ReferenceObject $Users.sAMAccountName -DifferenceObject $GroupMemberList.SamAccountName -IncludeEqual -ExcludeDifferent Add-ADGroupMember -Identity 'Test_Gruppe_DM_neu' -Members $Vergleich.InputObject Remove-ADGroupMember -Identity 'Test_Gruppe_DM_alt' -Members $Vergleich.InputObject $Vergleich | Export-Csv -Path 'c:\temp\Ergebnis.csv' -Delimiter ';' -NoTypeInformation -Encoding UTF8 Hallo BofH_666, das hat funktioniert :) Vielen Dank!
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden