Jump to content

Bestimmte CSV User in andere Gruppe verschieben


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben (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 von Syrador
Geschrieben

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

 

Geschrieben
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!

 

 

 

 

 

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...