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
Please also mark the comments that contributed to the solution of the article
Content-Key: 649607
Url: https://administrator.de/contentid/649607
Printed on: May 6, 2024 at 07:05 o'clock
6 Comments
Latest comment
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"}