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-ID: 1321917037

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

Ausgedruckt am: 23.11.2024 um 15:11 Uhr

Cloudrakete
Cloudrakete 29.09.2021 um 11:31:34 Uhr
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?
149569
149569 29.09.2021 aktualisiert um 11:43:56 Uhr
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  
psannz
psannz 29.09.2021 aktualisiert um 11:46:09 Uhr
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
Aspendos
Aspendos 29.09.2021 um 11:42:36 Uhr
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
psannz
psannz 29.09.2021 um 11:51:30 Uhr
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.
Aspendos
Aspendos 29.09.2021 um 12:23:29 Uhr
Goto Top
Danke werde ich mal probieren.
Aspendos
Aspendos 28.10.2021, aktualisiert am 21.04.2022 um 17:06:14 Uhr
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
149569
149569 28.10.2021, aktualisiert am 21.04.2022 um 17:06:21 Uhr
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*"} | ...........