aspendos
Goto Top

Azure AD bestimmte Telefonnummern löschen (Powershell)

Hey,
also wir haben hier bei uns im Azure AD viele Mitarbeiter die noch eine veraltete Telefonnummern haben. Ich würde gerne über Powershell alle diese Tel. Nummern löschen wollen. Also am besten irgendwie ein Befehl der alle Nutzer mit dieser Nummer raussucht und löscht. Jemand eine Idee ? Wäre sehr dankbar !!!

Beste Grüße
Jason

Content-Key: 1321917037

Url: https://administrator.de/contentid/1321917037

Printed on: May 18, 2024 at 07:05 o'clock

Member: Cloudrakete
Cloudrakete Sep 29, 2021 at 09:31:34 (UTC)
Goto Top
Hi Jason,

sind die User wirklich im Azure-AD oder sind es User welche aus deinem lokalen AD in das Azure AD synchronisiert werden?
Und ... nutzt du Teams?
Mitglied: 149569
149569 Sep 29, 2021 updated at 09:43:56 (UTC)
Goto Top
die noch eine veraltete Telefonnummern haben
Und woher sollen wir wissen welche deiner Nummern "veraltet" sind??

Im einfachsten Fall
Get-ADUser -LDAPFilter "(OfficePhone=1234*)" | Set-ADUser -Clear OfficePhone  
Member: psannz
psannz Sep 29, 2021 updated at 09:46:09 (UTC)
Goto Top
Sers,

:edit: AzureAD überlesen... sorry. Unter der Prämisse, das die Daten im AzureAD aus dem AD kommen oder ins AD synchronisieren:

Damit bekommst du eine Liste aller Benutzer mit alter Nummer im Attribut OfficePhone ("Rufnummer"):
Get-ADUser -Filter * -Properties * | where {$_.OfficePhone -match "0123456789"} | ft UserPrincipalName,OfficePhone  

Damit änderst du bei allen Nutzern mit alter Nummer im Attribut OfficePhone ("Rufnummer") den Wert auf die neue Rufnummer:
Get-ADUser -Filter * -Properties * | where {$_.OfficePhone -match "0123456789"} | Set-ADUser -OfficePhone "+49-123-4567-890" -whatif  

Wenn du mit dem Ergebnis zufrieden bist, dann lass den "-whatif" Anteil weg, dann wird es auch wirklich angewendet.

Grüße,
Philip
Member: Aspendos
Aspendos Sep 29, 2021 at 09:42:36 (UTC)
Goto Top
Also user werden über o365 angelegt, die dann im Azure erscheinen wo sie halt konfiguriert werden. Ich habe nun die Aufgabe erhalten die alten eingepflegten Nummern rauszusuchen und zu löschen. Das müsste ja irwie mit powershell gehen.
Teams nur Firmenaccount
Member: psannz
psannz Sep 29, 2021 at 09:51:30 (UTC)
Goto Top
Für Office365:

Connect-MSOLservice
Get-MSOLuser | where {$_.PhoneNumber -match "0123456789"} | ft UserPrincipalName,PhoneNumber  
pause
Get-MSOLuser | where {$_.PhoneNumber -match "0123456789"} | Set-MSOLuser -PhoneNumber "+49-123-4567-890" -whatif  

Auch hier: Wenn du mit dem Ergebnis zufrieden bist, lass das -whatif weg und der Befehl wird tatsächlich angewendet.
Member: Aspendos
Aspendos Sep 29, 2021 at 10:23:29 (UTC)
Goto Top
Danke werde ich mal probieren.
Member: Aspendos
Aspendos Oct 28, 2021, updated at Apr 21, 2022 at 15:06:14 (UTC)
Goto Top
Danke nochmal, bin erst jetzt dazu gekommen dies zu testen. Allerdings bekomme ich folgende Fehlermeldung.
Habe es mal auf 2 Ergebnisse reduziert

inkedunbenannt_li
Mitglied: 149569
149569 Oct 28, 2021, updated at Apr 21, 2022 at 15:06:21 (UTC)
Goto Top
Zitat von @Aspendos:

Danke nochmal, bin erst jetzt dazu gekommen dies zu testen. Allerdings bekomme ich folgende Fehlermeldung.
Habe es mal auf 2 Ergebnisse reduziert


Du hast einen falschen regular-Expression-String im Match angegeben. das "+" Zeichen hat eine besonderes Bedeutungin Regular Expressions und muss per Backslash "\" escaped werden!

...... | where {$_.PhoneNumber -match "\+490123456789"} | ...........  
Das ganze kannst du alternernativ auch so schreiben wenn du ein für Otto-Normaluser gebräuchlichen Wildcard Vergleich machen willst
...... | where {$_.PhoneNumber -like "+49*"} | ...........