Powershell scripting
Hallo Zusammen,
nach langen Tests und Suchaktionen, möchte ich euch um Hilfe bei einer kleinen Herausforderung bitten.
Ich möchte jedem User auf AD eine weitere Email Adresse auf seinem Profil hinzufügen. Das klappt mit diesem PowerShell befehl ganz gut:
ForEach-Object {Set-ADUser $_.SamAccountName -Add @{internalMail=$_.GivenName + $_.sn + "@xyz.de"}}
leider wird nur aus irgendeinem Grund lediglich der Vorname ($_.GivenName) und Domain (@xyz.de) berücksichtig, nicht der Nachname ($_.sn), dh:
Hans@xyz.de
anstatt
Hans.Mustermann@xyz.de
Hab schon versucht statt Attribute:sn Attribute:surname leider ohne Erfolg. Hat jemand eine Idee?
Vorab, Vielen Dank !
Kileo
nach langen Tests und Suchaktionen, möchte ich euch um Hilfe bei einer kleinen Herausforderung bitten.
Ich möchte jedem User auf AD eine weitere Email Adresse auf seinem Profil hinzufügen. Das klappt mit diesem PowerShell befehl ganz gut:
ForEach-Object {Set-ADUser $_.SamAccountName -Add @{internalMail=$_.GivenName + $_.sn + "@xyz.de"}}
leider wird nur aus irgendeinem Grund lediglich der Vorname ($_.GivenName) und Domain (@xyz.de) berücksichtig, nicht der Nachname ($_.sn), dh:
Hans@xyz.de
anstatt
Hans.Mustermann@xyz.de
Hab schon versucht statt Attribute:sn Attribute:surname leider ohne Erfolg. Hat jemand eine Idee?
Vorab, Vielen Dank !
Kileo
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 649607
Url: https://administrator.de/forum/powershell-scripting-649607.html
Ausgedruckt am: 08.04.2025 um 22:04 Uhr
6 Kommentare
Neuester Kommentar
Zitat von @Kileo20:
Get-ADUser -Filter * -SearchBase "OU=Test,DC=abc,DC=DE" | ForEach-Object {Set-ADUser $_.SamAccountName -Add @{internalMail=$_.GivenName + $_.sn + "@xyz.de"}}
Get-ADUser liefert standardmäßig "sn" als "surname". AlsoGet-ADUser -Filter * -SearchBase "OU=Test,DC=abc,DC=DE" | ForEach-Object {Set-ADUser $_.SamAccountName -Add @{internalMail=$_.GivenName + $_.sn + "@xyz.de"}}
Get-ADUser -Filter * -SearchBase "OU=Test,DC=abc,DC=DE" | ForEach-Object {Set-ADUser $_.SamAccountName -Add
@{internalMail=$_.GivenName + $_.surname + "@xyz.de"}}
Was auch immer.
Fakt ist:
Get-AdUser liefert ohne weitere Angaben keine Property "sn". Aber "surname". Wenn es unbedingt "sn" sein soll, dann muss die Abfrage lauten
Alles andere ist dann Handwerk. Natürlich musst Du z.B. filtern, ob ein Benutzerobjekt überhaupt die Attribute "givenname" und "sn" hat. Das ist nicht selbstverständlich so.
Mach doch erst einmal einfach einen Test:
Warum gleich Feuer machen wollen, wenn das Holz noch nicht gehackt ist.
Fakt ist:
Get-AdUser liefert ohne weitere Angaben keine Property "sn". Aber "surname". Wenn es unbedingt "sn" sein soll, dann muss die Abfrage lauten
Get-ADUser -Filter * -SearchBase "OU=Test,DC=abc,DC=DE" -properties sn
Alles andere ist dann Handwerk. Natürlich musst Du z.B. filtern, ob ein Benutzerobjekt überhaupt die Attribute "givenname" und "sn" hat. Das ist nicht selbstverständlich so.
Mach doch erst einmal einfach einen Test:
Get-ADUser -Filter * -SearchBase "OU=Test,DC=abc,DC=DE" | ForEach-Object {$_.GivenName + "." + $_.sn + "@xyz.de"}