Jump to content
Syrador

Bestimmte CSV User in andere Gruppe verschieben

Recommended Posts

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

Edited by Syrador

Share this post


Link to post

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

 

Share this post


Link to post
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!

 

 

 

 

 

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


Werbepartner:



×
×
  • Create New...