Jump to content

rmwi

Members
  • Gesamte Inhalte

    2
  • Registriert seit

  • Letzter Besuch

Beiträge erstellt von rmwi

  1. Liebe Community,

     

    hier die Lösung für oben genannte Aufgabe:

    #CSV einlesen
    
    $AllGroups=Import-Csv -Delimiter ";" -Path "Pfad_zur_Datei\Dateiname.csv"
    
    #Variable definieren
     
    ForEach ($Group in $AllGroups)
    {
           $GroupName = $Group.Gruppe1
           $ExternGroup = $Group.Gruppe2
    
    #Gruppenmember auslesen
     
           $AllGroupMembers = Get-ADGroupMember $GroupName
    
    #Schleife definieren
     
           ForEach ($GroupMember in $AllGroupMembers)
           {
    
    #Variable definieren
    
                 $ADUser = Get-ADUser $GroupMember
                 $ADUserUserPrincipalName = $ADUser.UserPrincipalName
                 $SAMAccountName = $ADUser.SAMAccountName
    
    #Bedingung abfragen
     
                 If ($ADUserUserPrincipalName -like "ABC.*@Maildomäne")
                 {
    
    #Definierte Member in neue Gruppe kopieren
    
                        Add-ADGroupMember -Identity $ExternGroup -Members $SAMAccountName
                 
    #Definierte Member aus alter Gruppe entfernen
    
                        Remove-ADGroupMember -Identity $GroupName -Members $SAMAccountName -Confirm:$false
    }
    }
    }
    

    Gruß

     

    • Danke 1
  2. Hallo,

     

    ich komme einfach nicht weiter.

    Aufgabe:

    In einer CVS sind Gruppennamen gelistet. Die Spaltenüberschriften sind benannt mit Gruppe1 und Gruppe2. In jeder Spalte befinden sich ca. 400 Einträge.

    Nun sollen die Member der Gruppe welche in Spalte "Gruppe1" in Zeile 1 sind in die Gruppe hinzugefügt werden welche in Spalte "Gruppe2" in Zeile 1 eingetragen sind. 

    Soweit so einfach. Leider ist die Schwierigkeit, dass nur die Member aus der Gruppe welche in Spalte "Gruppe1" und Zeile 1 in die Gruppe aus Spalte "Gruppe2" in Zeile 1 eingefügt werden sollen die ein bestimmtes Kriterium erfüllen. Es soll geprüft werden ob die Mailadresse des Gruppenmembers mit einer bestimmten Zeichenfolge beginnt. Dann soll das entsprechende Gruppenmitglied aus der einen Gruppe entfernt werden und der anderen Gruppe hinzugefügt werden. 

     

    Soweit bin ich bisher:

    #CSV einlesen
    
    $groups=Import-Csv -Delimiter ";" -Path "C:\Scripte\2019\Gruppen\VS_alle_test.csv"
    
    #Gruppen bearbeiten
    
    foreach ($group in $groups) {
    $gmember= Get-ADGroupMember $group.Gruppe1 }
    foreach ($member in $gmember) { $user = Get-Aduser $member Add-ADGroupMember -identity '$groups.Gruppe2' -Member $user.UserPrincipalName = "abc*@Mailadresse" }
    

    selbst wenn ich im letzten Teil auf das Filtern nach UserPrincipalname (enthält die Mailadresse = geprüft mit Inhalt $User) verzichte und nur dieses verwende:

    #CSV einlesen
    
    $groups=Import-Csv -Delimiter ";" -Path "C:\Scripte\2019\Gruppen\VS_alle_test.csv"
    
    #Gruppen bearbeiten
    
    foreach ($group in $groups) {
    $gmember= Get-ADGroupMember $group.Gruppe1 }
    foreach ($member in $gmember) { $user = Get-Aduser $member Add-ADGroupMember -identity '$groups.Gruppe2' -Member $user }
    

    kommt es zu diesen Fehlern:

    Zitat

    Get-ADUser : Es wurde kein Positionsparameter gefunden, der das Argument "CNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" akzeptiert.

    In Zeile:1 Zeichen:41

    + ... ) { $user = Get-Aduser $member Add-ADGroupMember -identity '$groups.e ...

    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo : InvalidArgument: (:) [Get-ADUser], ParameterBindingException

    + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.ActiveDirectory.Management.Commands.GetADUser

    Könnt Ihr mir dabei helfen ?

     

    Gruß

×
×
  • Neu erstellen...