lordofremixes
Goto Top

AD extensionAttribute auslesen, bearbeiten und neu schreiben

Hallo zusammen,

da wir gerade eine umfangreiche Domänenumstellung haben, und wir tatsächlich ETWAS vergessen haben, suche ich hilferingend nach einer dringenden Lösung für:

In der Unter OU "OU=UserAccounts,OU=test,OU=DE,DC=geheim,DC=geheim2,DC=geheim3,DC=com"
befinden sich unter dem extensionAttribute1 alte Email Adressen, die wir noch für ein altes System benötigen.

Diese soll per Powershell ausgelesen werden und folgendes passieren:
- Lese die Email Adresse unter extensionAttribute1 aus
--> diese lautet z.B. max.mustermann@web.de

- Wandele diese um in max.mustermann@web2.de

- Und schreibe diese in das extensionAttribute3

Sprich, Domänensuffix hinten ändern und von extensionAttribute1 in extensionAttribute3 schreiben.

Wäre um jede Hilfe dankbar.

Gruß
lordofremixes

Content-ID: 73138816072

Url: https://administrator.de/forum/ad-extensionattribute-auslesen-bearbeiten-und-neu-schreiben-73138816072.html

Ausgedruckt am: 25.12.2024 um 18:12 Uhr

Doskias
Doskias 31.01.2024 um 11:11:55 Uhr
Goto Top
Moin,

bei mir sieht es so aus:

Get-ADUser $Eintrag.Samaccountname -Properties * | Set-ADObject -Add @{extensionAttribute3=$wert3}

Die Variablen kommen aus anderen Abfragen, aber damit solltest du zu einer Lösung kommen ;-9

Gruß
Doskias
SlainteMhath
SlainteMhath 31.01.2024 um 11:18:02 Uhr
Goto Top
Moin,

Das sollte sich in etwa so umsetzen lassen:
Get-ADUser -SearchBase "OU=...." -filter "extensionAttribute1 -like '*@web.de'"  -prop extensionAttribute1 | %{  
  $new=$_.extensionAttribute1.split("@")[0] + "@web2.de"  
  $_ | set-adobject -Add @{extensionAttribute1=$new}
}
(Ungetestet und ohne Gewähr, Verwendung auf eigene Gefahr)


lg,
Slainte
Doskias
Doskias 31.01.2024 um 11:21:21 Uhr
Goto Top
Ach und falls irgendwann ExtensionAttribut1 gelöscht werden soll, dann lautet der entsprechende Befehl:

set-adobject -Clear extensionAttribute1
lordofremixes
lordofremixes 31.01.2024 um 11:23:02 Uhr
Goto Top
Zitat von @SlainteMhath:

Moin,

Das sollte sich in etwa so umsetzen lassen:
Get-ADUser -SearchBase "OU=...." -filter "extensionAttribute1 -like '*@web.de'"  -prop extensionAttribute1 | %{  
  $new=$_.extensionAttribute1.split("@")[0] + "@web2.de"  
  $_ | set-adobject --Add @{extensionAttribute1=$new
}
(Ungetestet und ohne Gewähr, Verwendung auf eigene Gefahr)


lg,
Slainte

Hi, Zeile 3 sollte dann aber $_ | set-adobject --Add @{extensionAttribute3=$new heißen oder?
lordofremixes
lordofremixes 31.01.2024 um 11:29:17 Uhr
Goto Top
Zitat von @Doskias:

Ach und falls irgendwann ExtensionAttribut1 gelöscht werden soll, dann lautet der entsprechende Befehl:

set-adobject -Clear extensionAttribute1

Nein, soll nicht gelöscht werden, nur mit dem neuen Suffix in das ExtensionAttribute3 hinzugefügt werden..
SlainteMhath
SlainteMhath 31.01.2024 um 11:30:35 Uhr
Goto Top
Ja richtig, hab's korrigiert.