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 Zitieren
BOfH_666 585 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 Zitieren
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! Zitieren
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.