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

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
Link zu diesem Kommentar

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

 

Link zu diesem Kommentar
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!

 

 

 

 

 

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

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...