none
Benutzerattribute per Get-ADUser auslesen und leeres Attribut befüllen, bevor das Ergebnis per Export-CSV exportiert wird RRS feed

  • Frage

  • Hallo werte Gemeinde,

    ich beschäftige mich noch nicht allzu lang mit der Powershell und habe vor, die AD-User, deren Feld "Mail" noch nicht befüllt ist, mit dem entsprechenden Wert zu befüllen. Das Auslesen (bereits gefiltert) ist kein Problem. Die Emailadresse muss ich aus Vorname, Nachname und Emailsuffix generieren. Dann will ich das Ganze wieder als CSV-Datei exportieren, um die fertige CSV-Datei ins AD zu exportieren. Wie kann ich das Attribut "Mail" befüllen? Danke im Voraus...

    mfG K. Richter

    Mittwoch, 14. August 2013 14:10

Antworten

Alle Antworten

  • get-help Set-ADUser -Examples

    Im Beipsiel 3 und 5 siehst du wie eine eMail-Adresse befuellt werden kann.

    Beste Gruesse
    brima


    Mittwoch, 14. August 2013 14:18
  • Hallo und danke für die schnelle Antwort,

    ich denke, dass das ein guter Ansatz ist. Allerdings gelingt es mir nicht, dies für alle zuvor ermittelten User hinzubekommen. Ich poste einfach mal mein "Versuchsskript".

    $users = Get-ADUser -Filter * -Properties * | Select-Object SamAccountName,mail,GivenName,SurName | Where-Object {$_.mail -lt 1 -and $_.GivenName -gt 0 -and $_.SurName -gt 0} 
    
    foreach ($user in $users) {
         
    $mailname = ($user.GivenName.Substring(0,1).ToLower() + "." + $user.SurName.ToLower() + "@beispiel.com"
      
         $user.mail = $mailname
         Set-ADUser -Replace @{$user.mail=$mailname} 
    }



    Set-ADUser : Der Parameter "In

    stance" kann nicht gebunden werden. Der Wert "@{SamAccountName=RabeJ; mail=j.rabe@beispiel.com; GivenName=Jan; SurName=Rabe}" kann nicht in den Typ "Microsoft.ActiveDirectory.Management.ADUser" konvertiert werden. Fehler: "Der Wert "@{SamAccountName=RabeJ; mail=j.rabe@beispiel.com; GivenName=Jan; SurName=Rabe}" vom Typ "Selected.Microsoft.ActiveDirectory.Management.ADUser" kann nicht in den Typ "Microsoft.ActiveDirectory.Management.ADUser" konvertiert werden." In Zeile:6 Zeichen:27 + Set-ADUser -Instance $user + ~~~~~ + CategoryInfo : InvalidArgument: (:) [Set-ADUser], ParameterBindingException + FullyQualifiedErrorId : CannotConvertArgumentNoMessage,Microsoft.ActiveDirectory.Management.Commands.SetADUser

    Ich musste die Fehlermeldung als Codeblock einfügen, da ich keine Links einfügen darf. (ODer gibt es noch andere Möglichkeiten für "ungeprüfte" Verfasser?

    Wo liegt/liegen mein(e) Fehler
    Danke & mfG

    • Bearbeitet Kay Richter Donnerstag, 15. August 2013 06:00
    Donnerstag, 15. August 2013 05:46
  • Danke nochmal - ich habe es jetzt hinbekommen mit der Variante aus Bsp. 5

    mfG

    Donnerstag, 15. August 2013 07:23
  • Dann markiere bitte die Antwort von Brima "als Antwort" (unter dem Post).

    Grüße, Denniver


    Blog: http://bytecookie.wordpress.com
    Powershell Codesnippet Manager: Link

    Hilf mit und markiere hilfreiche Beiträge mit dem "Abstimmen"-Button (links) und Beiträge die eine Frage von dir beantwortet haben, als "Antwort" (unten).
    Warum das Ganze? Hier gibts die Antwort.

    Donnerstag, 15. August 2013 12:20
    Moderator