Syrador 0 Geschrieben 29. Juni 2020 Melden Teilen 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 Link zu diesem Kommentar
BOfH_666 577 Geschrieben 29. Juni 2020 Melden Teilen 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 Link zu diesem Kommentar
Syrador 0 Geschrieben 30. Juni 2020 Autor Melden Teilen 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 Link zu diesem Kommentar
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.