Wenn Teams auf die globale Richtlinie zurückfällt

von

Table of Contents
2
3

Wenn Teams auf die globale Richtlinie zurückfällt

Vorrangregeln, Diagnose und Abhilfe in der Teams-Telefonie

Teams-Benutzer fällt auf die globale Richtlinie zurück: Ursachen, Diagnose und Abhilfe

Dreistufige Übersicht: Direkt zugewiesen, über Gruppe Rang 1, Global als Fallback; darunter Hinweis, dass dann Global gilt.

WISSEN

Alles zur Teams-Telefonie: Direct Routing, SBC, Wählpläne, Routing, Notruf und Betrieb an einem Ort.

› Teams-Telefonie

BERATUNG

Niemand weiß mehr, wer welche Richtlinie hat und was Global eigentlich darf? Wir bringen Ordnung in deine Zuweisungen.

› Beratung zur Teams-Telefonie

SCHULUNG

Für Admins, die Richtlinien, Gruppenzuweisungen und Ränge sicher planen und prüfen wollen.

› Schulung Teams-Telefonie

 

Es gibt in der Teams-Telefonie einen Kollegen, den niemand eingestellt hat und der trotzdem für jeden neuen Benutzer zuständig ist: die globale Richtlinie. Sie heißt im Teams Admin Center „Global (Org-wide default)“, sie lässt sich nicht löschen und nicht umbenennen, und sie springt immer dann ein, wenn ein Benutzer für einen Richtlinientyp weder eine direkte Zuweisung noch eine Zuweisung über eine Gruppe hat. Ohne Fehlermeldung, ohne Warnung, ohne Eintrag im Helpdesk-Ticket. Sie ist der stille Erbe aller Benutzer, um die sich gerade niemand kümmert.

Das wäre harmlos, wenn die globale Richtlinie sinnvoll gefüllt wäre. In der Praxis ist sie oft eines von zwei Extremen: leer, weil bei der Einführung alles über eigene Richtlinien lief, oder sperrangelweit offen, weil irgendwann jemand „schnell, damit es erst mal geht“ die internationale Usage hineingeklickt hat. Im ersten Fall telefoniert der vergessene Benutzer gar nicht. Im zweiten Fall telefoniert er überallhin, und das merkt niemand, bis die Rechnung kommt.

In diesem Beitrag zum Thema teams globale richtlinie gehen wir vom Symptom aus: wie sich der Rückfall auf Global anfühlt, wie die Vorrangregeln mit direkter Zuweisung, Gruppen und Rang funktionieren, warum zwischen Zuweisung und Wirkung Zeit vergeht, wie du mit Get-CsUserPolicyAssignment und anderen lesenden Befehlen findest, welche Richtlinie wirklich gilt, und wie du das Problem behebst und künftig verhinderst. Den Gesamtüberblick über Direct Routing, Wählpläne und Routing findest du auf der Seite Teams-Telefonie.

FAKTEN · Das Beispiel in diesem Beitrag

Erfundener Tenant Contoso (contoso.com) mit Standorten in Frankfurt, Köln, Berlin, Hamburg und München. Rufnummern nach dem Muster +49 69 555 0100 (Frankfurt) und +49 221 555 0100 (Köln), Haupt-SBC sbc1.contoso.com, zweiter SBC sbc2.contoso.com.

Je Standort gibt es eine Voice Routing Policy (etwa VRP-KOE) und einen Wählplan (etwa DP-Köln). Zugewiesen werden sie über Sicherheitsgruppen wie TEL-Köln-Standard. Die Benutzerin anna.berger@contoso.com ist neu in Köln und hat das Problem, um das es hier geht.

Alle Diagnosebefehle sind lesend: Get- und Test-Cmdlets aus dem Modul MicrosoftTeams. Geschrieben wird erst im Abschnitt zur Behebung, mit Sicherung und Rückweg.

 

Das Symptom: „Bei meinem Kollegen geht es doch“

Der Rückfall auf die globale Richtlinie hat kein eigenes Fehlerbild. Er tarnt sich als jedes andere Telefonieproblem, und genau das macht ihn so lästig. Das Muster erkennst du daran, dass es einzelne Benutzer trifft, oft neue, während der Kollege am Nachbartisch mit identischer Lizenz und identischem Standort problemlos telefoniert. Im Helpdesk klingt das so:

„Ich bin seit Montag hier, meine Nummer steht in Teams, aber jeder Anruf nach draußen scheitert.“

„Die Kurzwahl 142 funktioniert bei allen in Köln, nur bei mir nicht.“

„Ich kann nach Köln telefonieren, aber nicht ins Ausland. Mein Vorgänger konnte das.“

„Warum sieht der Kunde bei mir die Zentrale und bei meiner Kollegin die Durchwahl?“

„Das Praktikantenkonto vom letzten Sommer hat 400 Minuten nach Übersee telefoniert.“

„Ich habe die Gruppe vor einer Stunde zugewiesen. Warum hat sie immer noch die alte Richtlinie?“

Der letzte Satz ist der ehrlichste. Er beschreibt keinen Fehler in der Konfiguration, sondern einen Fehler im Erwartungsmanagement: Gruppenzuweisungen wirken nicht sofort. Der vorletzte Satz ist der teuerste, und zu ihm kommen wir noch.

Welche globale Richtlinie hinter welchem Symptom steckt, hängt vom Richtlinientyp ab. Teams betrachtet jeden Typ getrennt. Ein Benutzer kann also für die Voice Routing Policy sauber über eine Gruppe versorgt sein und beim Wählplan trotzdem auf Global stehen.

Richtlinientyp (PolicyType)

Wenn Global greift, merkst du es so

Vertiefung

OnlineVoiceRoutingPolicy

Anrufe nach draußen scheitern (Global leer) oder gehen über einen unerwarteten Weg, auch ins Ausland (Global offen)

Voice Routing Policy, PSTN Usage

TenantDialPlan

Kurzwahlen und Durchwahlen des Standorts werden nicht normalisiert, nationale Nummern schon (über den Dienst-Wählplan des Landes)

Wählplan und Normalisierung

TeamsCallingPolicy

Weiterleitung, Voicemail, Anrufgruppen oder private Anrufe verhalten sich anders als beim Kollegen

Calling Policy

CallingLineIdentity

Falsche oder unterdrückte Rufnummernanzeige beim Angerufenen

Caller ID Policy

TeamsEmergencyCallingPolicy

Keine Benachrichtigung an die interne Sicherheitsstelle bei Notrufen

Notruf

TeamsEmergencyCallRoutingPolicy

Notrufe laufen nicht über die vorgesehene Notruf-Usage

Notruf

 

WICHTIG · Erst prüfen, ob es wirklich die Richtlinie ist

Fehlt das Wählfeld ganz, liegt das Problem eine Ebene früher: Lizenz, Rufnummer oder Enterprise Voice. Das klärst du mit Kein Wählfeld in Teams: Lizenz, Rufnummer und Enterprise Voice prüfen. Den kompletten Rufweg von vorne prüfst du mit Teams-Anruf geht nicht raus: den Rufweg Schritt für Schritt prüfen.

Dieser Beitrag beginnt dort, wo der Benutzer grundsätzlich telefonieren kann und die Frage lautet: Welche Richtlinie gilt für ihn wirklich, und woher kommt sie?

 

Wie der Fehler technisch zustande kommt

Eine wirksame Richtlinie je Typ: die Vorrangregel

Microsoft beschreibt die Regel klar: Jeder Benutzer hat für jeden Richtlinientyp genau eine wirksame Richtlinie. Welche das ist, ergibt sich in drei Stufen:

Direkte Zuweisung. Eine Richtlinie, die dem Benutzer direkt zugewiesen ist, einzeln oder per Batch, hat immer Vorrang. Microsoft formuliert es so, dass sie wie Rang 0 behandelt wird, also vor jeder Gruppe.

Zuweisung über eine Gruppe. Hat der Benutzer keine direkte Zuweisung, gilt die Richtlinie aus einer Gruppe, in der er Mitglied ist. Ist er in mehreren Gruppen mit Zuweisungen desselben Typs, gewinnt die Zuweisung mit dem höchsten Rang, und der höchste Rang ist die kleinste Zahl: 1 vor 2 vor 3.

Global (Org-wide default). Gibt es weder das eine noch das andere, bekommt der Benutzer die globale Richtlinie dieses Typs. Das ist kein Fehlerzustand, sondern das vorgesehene Verhalten.

Entscheidungsablauf der Vorrangregel: direkte Zuweisung, dann Gruppe mit kleinstem Rang, sonst global, mit PowerShell-Beispie

Für die Kette eines abgehenden Anrufs heißt das: Bevor überhaupt ein Wählplan normalisiert und eine Route gesucht wird, steht fest, welche Richtlinien gelten. Die Kette lautet also eigentlich Benutzer › Zuweisung (direkt, Gruppe oder Global) › Wählplan › Normalisierung › Voice Routing Policy › PSTN Usage › Voice Route › SBC. Steht am Anfang die falsche Richtlinie, kann der Rest der Kette noch so sauber gebaut sein. Wie Usages und Routen danach zusammenspielen, erklärt Voice Routing Policy, PSTN Usage und Voice Route: Reihenfolge verstehen.

Gruppenzuweisung und Rang: was die Dokumentation zwischen den Zeilen sagt

Gruppenzuweisungen sind die bequemste Art, Telefonie-Richtlinien zu verteilen: Benutzer in die Standortgruppe, fertig. Seit 2023 unterstützt die Gruppenzuweisung im PowerShell-Modul laut Microsoft fast alle Richtlinientypen, auch Voice Routing Policy, Wählplan, Calling Policy und Caller ID Policy. Die Bequemlichkeit hat aber Regeln, und fast jede davon kann zu einem Rückfall auf Global führen:

Regel laut Microsoft

Was daraus in der Praxis wird

Zuweisungen wirken nur für direkte Mitglieder der Gruppe, nicht für Mitglieder verschachtelter Gruppen.

Die Abteilungsgruppe steckt in der Standortgruppe, ihre Mitglieder bekommen trotzdem Global. Der häufigste Einzelgrund in gewachsenen Umgebungen.

Der Rang ist relativ zu anderen Gruppenzuweisungen desselben Typs; 1 ist der höchste.

Ein Benutzer in TEL-Köln-Standard (Rang 2) und TEL-International (Rang 1) bekommt die internationale Richtlinie, auch wenn das niemand so wollte.

Ohne Angabe eines Rangs bekommt die neue Zuweisung den niedrigsten Rang, also das Ende der Liste.

Die neue Sondergruppe für die Geschäftsleitung verliert gegen jede bestehende Gruppe.

Wird eine Zuweisung entfernt, rücken die nachfolgenden Ränge nach.

Aus Rang 3 wird still Rang 2. Wer Ränge im Kopf oder in einer alten Excel-Liste führt, liegt danach daneben.

Ein Richtlinientyp kann höchstens 64 Gruppen zugewiesen werden, über alle Richtlinien dieses Typs hinweg.

Bei sehr feiner Aufteilung ist irgendwann Schluss; die 65. Gruppe geht nicht mehr.

Gruppen mit der Einstellung HiddenGroupMembership können keine Gruppenzuweisung nutzen.

Zuweisung an eine solche Gruppe wirkt nicht; die Mitglieder bleiben auf Global.

Einige Typen sind ausgenommen, darunter die Teams Emergency Call Routing Policy.

Die Notruf-Routing-Richtlinie verteilst du direkt oder über Netzwerkstandorte, nicht über Gruppen.

Eine direkte Zuweisung verhindert, dass eine Gruppenzuweisung desselben Typs wirkt.

Eine vergessene Direktzuweisung von früher hebelt die neue Gruppenlogik aus, und zwar dauerhaft.

 

Der letzte Punkt ist kein Rückfall auf Global, gehört aber zur selben Familie: Der Benutzer hat nicht die Richtlinie, die du erwartest. Im Diagnoseteil fangen wir beide Fälle mit demselben Befehl.

Die Verzögerung: das Zeitfenster, in dem Global regiert

Wenn du eine Richtlinie einer Gruppe zuweist, ist die Zuweisung an der Gruppe sofort da. Die Verteilung an die einzelnen Mitglieder läuft laut Microsoft aber als Hintergrundvorgang, und die Dauer hängt von der Größe der Gruppe ab. Dasselbe gilt, wenn du eine Zuweisung entfernst oder Mitglieder hinzufügst und entfernst. Für große Gruppen nennt Microsoft ausdrücklich 24 Stunden oder mehr. Eine Garantie für kleine Gruppen gibt es nicht; du solltest also auch bei zehn Mitgliedern nicht davon ausgehen, dass es nach fünf Minuten erledigt ist.

Kommt die Gruppenmitgliedschaft aus dem lokalen Active Directory, steht vor dieser Verteilung noch die Synchronisation nach Entra ID. Für eine neue Kollegin bedeutet das: Konto, Lizenz und Rufnummer sind am Montagmorgen da, die Standortgruppe kommt mit dem nächsten Sync, die Richtlinie irgendwann danach. Dazwischen gilt Global, für alle Typen, die nicht direkt zugewiesen sind.

Zeitleiste: Konto und Lizenz Montag 8 Uhr, erster Anruf 10 Uhr wirkt global, Gruppenzuweisung 14 Uhr, Gruppenrichtlinie erst

TIPP · Den Stand der Verteilung kannst du sehen

Im Teams Admin Center findest du unter Dashboard › Aktivitätsprotokoll (Activity log) die Gruppenrichtlinien-Vorgänge der letzten 30 Tage, auch die per PowerShell angestoßenen, mit Status wie „Not started“, „In progress“, „Rolling out to users“ und „Completed“. Steht der Vorgang noch nicht auf Completed, ist „noch Global“ kein Fehler, sondern Geduld.

 

Warum die globale Richtlinie die eigentliche Gefahr ist

Dass Benutzer auf Global zurückfallen, lässt sich nie ganz verhindern: neue Konten, verspätete Gruppen, Umzüge zwischen Standorten, Testkonten, vergessene Altlasten. Die entscheidende Frage ist deshalb nicht, ob jemand auf Global landet, sondern was er dort vorfindet.

Eine leere globale Voice Routing Policy ist gefährlich. Ohne PSTN Usage findet Teams für den Benutzer keine Route, und der Anruf scheitert. Für normale Anrufe ist das ärgerlich, aber wenigstens laut: Der Benutzer beschwert sich, das Ticket kommt. Kritisch wird es beim Notruf. Wenn keine andere Notrufkonfiguration greift, etwa eine Emergency Call Routing Policy mit eigener PSTN Usage, scheitert auch der Anruf unter 112. Das Problem fällt dann ausgerechnet in dem Moment auf, in dem es niemand gebrauchen kann.

Eine zu offene globale Voice Routing Policy ist noch gefährlicher. Enthält Global die nationalen, mobilen und internationalen Usages, funktioniert für den vergessenen Benutzer einfach alles. Es gibt kein Ticket, keine Beschwerde, keinen Hinweis. Jeder Zuweisungsfehler bleibt unsichtbar, und mit ihm jede Berechtigung, die der Benutzer nie haben sollte: das Praktikantenkonto mit Auslandsgesprächen, das Testkonto mit Sonderrufnummern, der Raum, der eigentlich nur intern telefonieren sollte. Ein leerer Global meldet seine Fehler, ein offener Global verschweigt sie und schickt dir die Quittung per Rechnung.

Drei Varianten der globalen Voice Routing Policy: leer, zu offen und empfohlen, mit jeweiligen Auswirkungen für vergessene Be

Dasselbe Prinzip gilt für die anderen Typen. Ein globaler Wählplan ohne Regeln lässt Standort-Kurzwahlen ins Leere laufen, was sofort auffällt. Eine globale Calling Policy, die Weiterleitungen nach extern großzügig erlaubt, fällt dagegen erst auf, wenn ein Postfach in Endlosschleife ins Mobilfunknetz weiterleitet. Wie du den Wählplan richtig baust, steht in Wählplan mit Amtsholung 0 in Teams richtig bauen; die Feinheiten der Rufnummernanzeige erklärt Rufnummernanzeige in Teams falsch: CLIP, Caller ID Policy und SBC.

WARNUNG · Global ist auch für Konten zuständig, an die du nicht denkst

Global greift für jedes Konto, das für einen Typ weder direkt noch über eine Gruppe versorgt ist. Dazu können Testkonten, Konten von Geräten und Räumen oder Konten aus früheren Projekten gehören, die irgendwann eine Rufnummer bekommen haben. Wer Global großzügig füllt, gibt diese Großzügigkeit an alle weiter, die er vergessen hat.

 

AUS DER PRAXIS · Ein Maschinenbauer mit zwölf Standorten

Jeder Standort hatte seine Telefoniegruppe mit eigener Voice Routing Policy. Damit die Pflege einfacher wird, wurden die Abteilungsgruppen in die Standortgruppen verschachtelt. Ab da bekamen neue Benutzer die Standortrichtlinie nicht mehr, denn Gruppenzuweisungen wirken nur für direkte Mitglieder. Aufgefallen ist es monatelang nicht: Die globale Richtlinie enthielt seit einem eiligen Projektstart die internationale Usage, also funktionierte jeder Anruf. Erst die Prüfung einer Rechnung mit auffällig vielen Auslandsminuten führte zur Frage, wer eigentlich was darf. Rund ein Fünftel der Benutzer stand auf Global.

 

Ein eigener Fall aus meinem Tenant, in dem ein anynode-SBC hängt: Dort enthält die globale Voice Routing Policy bewusst nur die Notruf-Usage. Als ich ein Testkonto angelegt und die Gruppenzuweisung vergessen hatte, scheiterte der erste Testanruf nach Köln, und im SBC-Protokoll kam gar nichts an. Genau so soll es sein: Teams hat keine Route gefunden, also hat es auch nichts an den SBC geschickt. Zwei Minuten Ärger, dann war die Ursache klar. Mit einem offenen Global hätte das Testkonto fröhlich telefoniert, und ich hätte den Fehler vermutlich nie bemerkt.

Diagnose Schritt für Schritt

Die Diagnose beantwortet drei Fragen: Was ist dem Benutzer direkt zugewiesen? Was ist wirksam, und woher kommt es? Und was steht in Global? Alle Befehle stammen aus dem Modul MicrosoftTeams und lesen nur.

Fünf Diagnoseschritte mit PowerShell-Befehlen von der direkten Zuweisung bis zur globalen Richtlinie in der Verarbeitungskett

Schritt 1: direkte Zuweisungen mit Get-CsOnlineUser

Connect-MicrosoftTeams

$u = "anna.berger@contoso.com"

Get-CsOnlineUser -Identity $u |

Select-Object DisplayName, LineUri, EnterpriseVoiceEnabled,

OnlineVoiceRoutingPolicy, TenantDialPlan, TeamsCallingPolicy, CallingLineIdentity

 

Ein leeres Feld bei OnlineVoiceRoutingPolicy oder TenantDialPlan verleitet zu dem Schluss, der Benutzer stehe auf Global. Das kann stimmen, muss es aber nicht. Microsoft weist ausdrücklich darauf hin, dass Get-CsOnlineUser nur direkte Zuweisungen zeigt und die Wirkung von Gruppenzuweisungen nicht abbildet. Ein leeres Feld heißt also nur: keine direkte Zuweisung.

WARNUNG · Der häufigste Diagnosefehler

Wer nur Get-CsOnlineUser anschaut, hält jeden Benutzer mit Gruppenzuweisung für einen Global-Fall und weist ihm dann „zur Sicherheit“ direkt eine Richtlinie zu. Damit ist die Gruppenlogik für diesen Benutzer dauerhaft ausgehebelt. Die nächste Änderung an der Gruppe erreicht ihn nicht mehr.

 

Schritt 2: die wirksame Richtlinie mit Get-CsUserPolicyAssignment

# alle direkt oder über Gruppen wirksamen Richtlinien

Get-CsUserPolicyAssignment -Identity $u

 

# Herkunft für einen Typ im Detail

Get-CsUserPolicyAssignment -Identity $u -PolicyType OnlineVoiceRoutingPolicy |

Select-Object -ExpandProperty PolicySource

 

Get-CsUserPolicyAssignment liefert je Richtlinientyp die wirksame Richtlinie samt Herkunft. Die Eigenschaft PolicySource zeigt, ob eine Zuweisung direkt (AssignmentType Direct) oder über eine Gruppe (AssignmentType Group, mit der Gruppen-ID unter Reference) kommt. Sind mehrere Gruppen beteiligt, siehst du alle Kandidaten in der Reihenfolge ihres Rangs; die erste Zeile gewinnt.

Entscheidend für unser Thema: Wird für einen Typ gar nichts zurückgegeben, ist laut Microsoft die globale Richtlinie wirksam, also die tenantweite globale Richtlinie oder, falls diese nicht angepasst wurde, der Systemstandard. Leere Ausgabe ist hier kein Fehler, sondern der Befund.

Ausgabe für OnlineVoiceRoutingPolicy

Bedeutung

Nächster Schritt

Direct VRP-KOE

Direkt zugewiesen, Gruppen sind für diesen Typ egal

Ist die Direktzuweisung gewollt? Sonst entfernen (Behebung, Variante C)

Group VRP-KOE (Gruppen-ID)

Über Gruppe wirksam

Passt die Gruppe zum Standort? Rang prüfen

Group VRP-International, dann Group VRP-KOE

Zwei Gruppen, die erste gewinnt wegen höheren Rangs

Ränge in Schritt 3 prüfen

(keine Ausgabe)

Global ist wirksam

Mitgliedschaft (Schritt 4) und Inhalt von Global (Schritt 5) prüfen

 

Wichtig: Das Cmdlet arbeitet immer nur für einen Benutzer. Für einen Überblick über viele Benutzer brauchst du eine Schleife, die du in Schritt 6 findest.

Schritt 3: Gruppenzuweisungen und Ränge

Get-CsGroupPolicyAssignment -PolicyType OnlineVoiceRoutingPolicy |

Sort-Object Rank |

Select-Object Rank, GroupId, PolicyName, CreatedTime

 

Get-CsGroupPolicyAssignment -PolicyType TenantDialPlan | Sort-Object Rank

 

Damit siehst du, welche Gruppen für einen Typ eine Zuweisung haben und in welcher Reihenfolge sie gewinnen. Die Gruppen werden immer mit ihrer Objekt-ID aufgeführt, auch wenn sie per Mailadresse zugewiesen wurden. Achte auf zwei Dinge: Liegen allgemeine Gruppen (etwa „alle mit Auslandsrecht“) vor den Standortgruppen? Und fehlt für einen Standort die Zuweisung ganz?

Schritt 4: Ist der Benutzer direktes Mitglied?

Steht die Gruppe in Schritt 3, aber Schritt 2 liefert nichts, ist die Mitgliedschaft der nächste Verdächtige. Prüfe in Entra ID, ob der Benutzer direktes Mitglied der Gruppe ist und nicht nur über eine verschachtelte Gruppe dazugehört. Mit dem Modul Microsoft Graph PowerShell geht das lesend so:

Connect-MgGraph -Scopes "GroupMember.Read.All","User.Read.All"

# direkte Mitgliedschaften (ohne Verschachtelung)

Get-MgUserMemberOf -UserId $u -All |

ForEach-Object { $_.AdditionalProperties.displayName }

 

# zum Vergleich: alle Mitgliedschaften inklusive verschachtelter Gruppen

Get-MgUserTransitiveMemberOf -UserId $u -All |

ForEach-Object { $_.AdditionalProperties.displayName }

 

Taucht TEL-Köln-Standard nur in der zweiten Liste auf, hast du die Ursache: Die Benutzerin gehört über eine verschachtelte Gruppe dazu, und dafür greift die Gruppenzuweisung nicht. Steht die Gruppe in der ersten Liste und Schritt 2 zeigt trotzdem nichts, ist die Verteilung vermutlich noch unterwegs. Dann hilft der Blick ins Aktivitätsprotokoll aus dem Tipp oben.

Schritt 5: Was steht eigentlich in Global?

Get-CsOnlineVoiceRoutingPolicy -Identity Global | Select-Object Identity, OnlinePstnUsages

Get-CsTenantDialPlan -Identity Global | Select-Object -ExpandProperty NormalizationRules

Get-CsTeamsCallingPolicy -Identity Global

Get-CsCallingLineIdentity -Identity Global

 

# was der Wählplan der Benutzerin aus einer Eingabe macht

Test-CsEffectiveTenantDialPlan -Identity $u -DialedNumber "0221 5550142"

 

Bei der Voice Routing Policy ist die Frage einfach: Welche PSTN Usages stehen in Global, und wohin führen die Routen dahinter? Eine leere Liste bedeutet „vergessene Benutzer telefonieren nicht“, eine Liste mit internationalen Usages bedeutet „vergessene Benutzer telefonieren überallhin“. Test-CsEffectiveTenantDialPlan zeigt dir im Feld TranslatedNumber, was aus einer Eingabe wird. Steht dort etwas anderes als bei der Kollegin am selben Standort, ist sehr wahrscheinlich der Wählplan der Rückfall. Die Details zu Normalisierungsregeln stehen in Normalisierungsregeln in Teams: typische Fehler und wie du sie findest.

Schritt 6: Alle Global-Fälle im Tenant finden

Weil Get-CsOnlineUser nur direkte Zuweisungen kennt und Get-CsUserPolicyAssignment nur einen Benutzer pro Aufruf, kombinierst du beides: Erst grenzt du die Kandidaten ein, dann fragst du für jeden einzelnen die wirksame Richtlinie ab.

$typ = "OnlineVoiceRoutingPolicy"

$kandidaten = Get-CsOnlineUser -ResultSize Unlimited |

Where-Object { $_.EnterpriseVoiceEnabled -and -not $_.OnlineVoiceRoutingPolicy }

 

$globalTreffer = foreach ($k in $kandidaten) {

$a = Get-CsUserPolicyAssignment -Identity $k.UserPrincipalName -PolicyType $typ

if (-not $a) {

[pscustomobject]@{ Benutzer = $k.UserPrincipalName; Rufnummer = $k.LineUri }

}

}

$globalTreffer | Sort-Object Benutzer | Format-Table

 

Das Ergebnis ist die Liste aller Benutzer mit Enterprise Voice, für die bei der Voice Routing Policy Global wirksam ist. In großen Tenants dauert die Schleife eine Weile, weil sie pro Benutzer einen Aufruf macht. Für den Wählplan tauschst du Typ und Eigenschaft gegen TenantDialPlan aus.

Im Teams Admin Center

Benutzer › Benutzer verwalten › Benutzer › Richtlinien: zeigt die Richtlinien des Benutzers. Hier entfernst du auch eine direkte Zuweisung.

Sprache › Voice Routing Policies › Global (Org-wide default): zeigt die PSTN Usages der globalen Richtlinie.

Sprache › Voice Routing Policies › Registerkarte Gruppenrichtlinienzuweisung: zeigt Gruppen, Ränge und Richtlinien für diesen Typ. Dieselbe Registerkarte gibt es bei Wählplänen und den anderen Richtlinienseiten.

Dashboard › Aktivitätsprotokoll: zeigt, ob eine Gruppenzuweisung noch verteilt wird.

WERKZEUG · So findet es der Teams-Telefonie Diagnostiker

Der Benutzer-Steckbrief fasst die Telefonie-Konfiguration eines einzelnen Benutzers auf einer Seite zusammen. Damit beantwortest du die Frage „Was ist bei Anna anders als bei ihrem Kollegen?“, ohne die Befehle aus den Schritten 1 bis 5 einzeln auszuführen und nebeneinanderzulegen. Steht ein Benutzer mit Rufnummer bei Voice Routing Policy oder Wählplan auf der globalen Richtlinie, siehst du das dort direkt neben den übrigen Angaben.

Wer nicht nur einen Einzelfall klären, sondern Abweichungen über die Zeit beobachten will, nutzt zusätzlich die Drift-Erkennung. Der Diagnostiker arbeitet im Nur-Lese-Modus.

Mehr dazu auf der Seite Teams-Telefonie Diagnostiker. Du kannst ihn 15 Tage kostenlos testen.

 

Behebung: die richtige Richtlinie an den richtigen Benutzer

Bevor du irgendetwas änderst, sicherst du den Ist-Zustand. Das kostet eine Minute und erspart dir im Ernstfall die Rekonstruktion aus dem Gedächtnis.

$stamp = Get-Date -Format "yyyyMMdd-HHmm"

Get-CsOnlineVoiceRoutingPolicy -Identity Global | Export-Clixml ".\vrp-global-$stamp.xml"

Get-CsGroupPolicyAssignment | Export-Csv ".\gruppenzuweisungen-$stamp.csv" -NoTypeInformation -Encoding UTF8

Get-CsUserPolicyAssignment -Identity $u | Export-Clixml ".\zuweisung-anna-$stamp.xml"

 

Variante A: Mitgliedschaft reparieren

Ist die Benutzerin nur über eine verschachtelte Gruppe in TEL-Köln-Standard, nimmst du sie direkt in die Gruppe auf, in Entra ID oder, wenn die Gruppe aus dem lokalen AD kommt, dort. Danach heißt es warten, bis Synchronisation und Verteilung durch sind. Wenn die Verschachtelung System hat, ist die nachhaltige Lösung eine flache Gruppe pro Standort, gern als dynamische Gruppe mit einer Regel auf ein Standortattribut, sofern das zu deiner Lizenzierung und Verwaltung passt.

Rückweg: Mitgliedschaft wieder entfernen. Die Benutzerin fällt dann wieder auf die vorherige Richtlinie zurück, nach derselben Verteilungszeit.

Variante B: Gruppenzuweisung oder Rang korrigieren

Fehlt für einen Standort die Gruppenzuweisung oder steht sie hinter einer allgemeineren Gruppe, legst du sie mit dem Grant-Cmdlet des Typs und dem Parameter -Group an. Gib den Rang immer ausdrücklich an; ohne Rang landet die Zuweisung am Ende der Liste.

Grant-CsOnlineVoiceRoutingPolicy -Group "tel-cgn-standard@contoso.com" `

-PolicyName "VRP-KOE" -Rank 2

 

# Rückweg: Zuweisung an der Gruppe wieder entfernen

Grant-CsOnlineVoiceRoutingPolicy -Group "tel-cgn-standard@contoso.com" -PolicyName $null

 

Denk beim Ändern von Rängen daran, dass die übrigen Zuweisungen desselben Typs nachrücken oder nach hinten geschoben werden. Vergleiche das Ergebnis von Schritt 3 vorher und nachher.

Variante C: alte Direktzuweisung entfernen

Hat ein Benutzer eine direkte Zuweisung, die der Gruppenlogik im Weg steht, entfernst du sie. Danach erbt er die Gruppenrichtlinie, und wenn er in keiner passenden Gruppe ist, Global. Prüfe deshalb vorher mit Schritt 2 und 4, dass die Gruppe wirklich greift.

Grant-CsOnlineVoiceRoutingPolicy -Identity $u -PolicyName $null

 

# Rückweg: die vorherige Richtlinie wieder direkt zuweisen

Grant-CsOnlineVoiceRoutingPolicy -Identity $u -PolicyName "VRP-KOE"

 

Für viele Benutzer gleichzeitig bietet das Teams Admin Center unter Benutzer verwalten die Aktion „Richtlinien in großen Mengen aufheben“. Vorsicht: Sie entfernt die direkte Zuweisung einer Richtlinie bei allen Benutzern, denen sie direkt zugewiesen ist, nicht nur bei einer Auswahl.

Variante D: Global entschärfen

Die nachhaltigste Korrektur betrifft nicht den einzelnen Benutzer, sondern Global selbst. Das Ziel: Global darf Notruf, sonst bewusst wenig. Wer mehr braucht, bekommt es über eine Gruppe oder direkt. Bevor du Global einschränkst, muss die Liste aus Schritt 6 leer sein oder nur Konten enthalten, bei denen das Einschränken gewollt ist. Sonst baust du dir den Ausfall selbst.

# Voraussetzung: Usage DE-Notruf mit Route ^(110|112)$ zu sbc1/sbc2 existiert

Set-CsOnlineVoiceRoutingPolicy -Identity Global -OnlinePstnUsages @{Replace = "DE-Notruf"}

 

# Rückweg aus der Sicherung

$alt = Import-Clixml ".\vrp-global-<zeitstempel>.xml"

Set-CsOnlineVoiceRoutingPolicy -Identity Global -OnlinePstnUsages @{Replace = $alt.OnlinePstnUsages}

 

Prüfe vorher mit Test-CsEffectiveTenantDialPlan, in welcher Form die 112 nach der Normalisierung bei den Routen ankommt, und richte das Muster der Notrufroute danach aus. Und teste den Notruf nicht, indem du die echte Leitstelle anrufst; wie das geordnet geht, beschreibt Notruf in Teams testen, ohne die Leitstelle zu verärgern. Die Grundlagen zum Notruf in Teams findest du unter Notruf in Microsoft Teams konfigurieren.

Variante

Wirkt für

Wartezeit

Rückweg

A: Mitgliedschaft

Einzelne Benutzer

Sync plus Verteilung

Mitgliedschaft entfernen

B: Gruppenzuweisung oder Rang

Alle Gruppenmitglieder

Verteilung im Hintergrund, bei großen Gruppen 24 Stunden oder mehr

Zuweisung mit -PolicyName $null entfernen, alten Rang wiederherstellen

C: Direktzuweisung entfernen

Einzelne Benutzer

Kurz, aber nicht sofort

Richtlinie wieder direkt zuweisen

D: Global entschärfen

Alle ohne eigene Zuweisung

Kurz, aber nicht sofort

Usages aus der Sicherung zurückschreiben

 

WICHTIG · Nach der Änderung: kontrollieren, nicht hoffen

Wiederhole Schritt 2 für die betroffenen Benutzer und Schritt 6 für den Tenant. Erst wenn Get-CsUserPolicyAssignment die erwartete Richtlinie mit der erwarteten Herkunft zeigt, ist der Fall erledigt. Ein erfolgreicher Testanruf allein beweist bei einem offenen Global gar nichts.

 

Vorbeugung: Global als Sicherheitsnetz, nicht als Hintertür

Global bewusst gestalten. Für jeden Telefonie-Richtlinientyp entscheidest du ausdrücklich, was Global darf. Bei der Voice Routing Policy heißt das: Notruf ja, alles andere nur, wenn du es für jeden vergessenen Benutzer akzeptieren würdest.

Ein Weg pro Typ. Lege fest, ob ein Typ über Gruppen oder direkt verteilt wird, und mische nicht. Direktzuweisungen sind die Ausnahme mit Begründung.

Flache Gruppen. Standortgruppen enthalten Benutzer, keine anderen Gruppen. Verschachtelung wirkt für Gruppenzuweisungen nicht.

Ränge dokumentieren. Die Reihenfolge der Gruppenzuweisungen je Typ gehört in die Betriebsdokumentation und wird nach jeder Änderung mit Get-CsGroupPolicyAssignment abgeglichen.

Onboarding mit Wartezeit planen. Neue Kolleginnen und Kollegen kommen nicht am ersten Tag um 8 Uhr in die Gruppe, sondern ein bis zwei Tage vorher. Dann ist die Richtlinie da, wenn die Rufnummer gebraucht wird.

Regelmäßig nach Global-Fällen suchen. Das Skript aus Schritt 6 läuft als wiederkehrende Prüfung. Jeder neue Treffer ist entweder gewollt und dokumentiert oder ein Fehler.

Abweichungen erkennen. Wer an Global oder an Rängen dreht, ändert das Verhalten für viele Benutzer auf einmal. Solche Änderungen gehören in einen Freigabeprozess und in eine Abweichungskontrolle.

Zum letzten Punkt passen zwei Vertiefungen: Konfigurationsdrift in der Teams-Telefonie erkennen zeigt, wie du ungeplante Änderungen an Global und Zuweisungen erkennst, und Microsoft Teams Telefonie-Governance regelt, wer überhaupt Richtlinien zuweisen und Global ändern darf. Wenn deine Zuweisungen über Jahre und Standorte gewachsen sind und du sie grundsätzlich neu ordnen willst, ist das ein gutes Thema für ein Festpreispaket Grobkonzept Teams-Telefonie oder eine Beratung zur Teams-Telefonie. Wer Vorrangregeln, Ränge und Gruppenlogik lieber einmal in Ruhe übt als im Störungsfall, ist in der Schulung Teams-Telefonie richtig.

Dashboard der Teams-Telefonie-Diagnose mit Gesamtstatus, vier Kategoriekacheln und der Liste der wichtigsten Befunde nach der
So sieht die Übersicht im Teams-Telefonie Diagnostiker aus, wenn Konfiguration und Organisation ohne Befunde sind, mit Demo-Daten des Tenants Contoso.

WEITERLESEN · Passend dazu

› Voice Routing Policy, PSTN Usage und Voice Route: Reihenfolge verstehen

› Normalisierungsregeln in Teams: typische Fehler und wie du sie findest

› Rufnummernanzeige in Teams falsch: CLIP, Caller ID Policy und SBC

› Teams-Anruf geht nicht raus: den Rufweg Schritt für Schritt prüfen

› Teams-Telefonie Probleme: die zehn häufigsten Ursachen

 

FAQ

Woran erkenne ich, dass ein Benutzer die globale Richtlinie hat?

Mit Get-CsUserPolicyAssignment -Identity und dem passenden -PolicyType. Gibt das Cmdlet für diesen Typ nichts zurück, ist laut Microsoft die globale Richtlinie wirksam. Ein leeres Feld in Get-CsOnlineUser reicht als Beweis nicht, weil es Gruppenzuweisungen nicht zeigt.

Was hat Vorrang: direkte Zuweisung oder Gruppe?

Die direkte Zuweisung. Sie wirkt wie Rang 0 und schlägt jede Gruppenzuweisung desselben Typs. Erst wenn du sie entfernst, kann der Benutzer eine Richtlinie aus einer Gruppe erben.

Welche Gruppe gewinnt, wenn ein Benutzer in mehreren ist?

Die Zuweisung mit dem höchsten Rang, also der kleinsten Zahl. Der Rang gilt je Richtlinientyp, sodass eine Gruppe für die Voice Routing Policy auf Rang 1 und für den Wählplan auf Rang 3 stehen kann.

Wie lange dauert es, bis eine Gruppenzuweisung wirkt?

Das hängt laut Microsoft von der Größe der Gruppe ab; bei großen Gruppen kann es 24 Stunden oder länger dauern. Dasselbe gilt für Änderungen der Mitgliedschaft. Den Stand siehst du im Aktivitätsprotokoll des Teams Admin Center.

Funktionieren verschachtelte Gruppen?

Nein. Gruppenzuweisungen werden nur an direkte Mitglieder verteilt. Mitglieder einer Untergruppe bleiben bei ihrer bisherigen Richtlinie, im Zweifel bei Global.

Kann ich die globale Richtlinie löschen?

Nein. Du kannst sie bearbeiten, aber weder löschen noch umbenennen. Deshalb lohnt es sich, ihren Inhalt bewusst festzulegen.

Soll die globale Voice Routing Policy leer sein?

Besser nicht. Eine leere Global-Policy lässt vergessene Benutzer zwar sichtbar scheitern, kann aber je nach übriger Konfiguration auch den Notruf verhindern. Bewährt hat sich eine Global-Policy, die nur den Notruf erlaubt. Alles Weitere bekommt ein Benutzer gezielt über eine Gruppe oder direkt.

Warum ist eine offene globale Richtlinie so gefährlich?

Weil sie jeden Zuweisungsfehler unsichtbar macht. Vergessene Benutzer, Testkonten und Altlasten dürfen alles, und niemand merkt es, bis die Rechnung kommt oder jemand fragt, warum das Praktikantenkonto ins Ausland telefoniert.

Kann ich die Notruf-Routing-Richtlinie über eine Gruppe zuweisen?

Laut Microsoft ist die Teams Emergency Call Routing Policy von der Gruppenzuweisung ausgenommen. Du weist sie direkt zu oder über Netzwerkstandorte. Mehr dazu in Notrufadresse fehlt in Teams: was bei 112 wirklich passiert.

Fazit: Global ist das, was übrig bleibt, also sollte es harmlos sein

Ein Benutzer fällt nicht aus Bosheit auf die globale Richtlinie zurück, sondern weil eine direkte Zuweisung fehlt, die Gruppe verschachtelt ist, der Rang nicht passt oder die Verteilung noch läuft. Teams macht dabei genau das, was dokumentiert ist: direkt vor Gruppe, kleiner Rang vor großem, und am Ende Global. Wer die Kette mit Get-CsUserPolicyAssignment, Get-CsGroupPolicyAssignment und einem Blick in Global nachvollzieht, findet den Fehler in Minuten.

Die eigentliche Lehre liegt aber eine Ebene höher. Rückfälle auf Global wird es immer geben. Entscheidend ist, was der vergessene Benutzer dort vorfindet. Ein leerer Global meldet sich laut, notfalls im falschen Moment. Ein offener Global schweigt und lässt jeden Fehler durch. Ein Global, der Notruf kann und sonst wenig, ist das Sicherheitsnetz, das du willst: Niemand bleibt im Notfall ohne Verbindung, und jeder Zuweisungsfehler landet als Ticket im Helpdesk statt als Posten auf der Rechnung.

Dieses Consulting-Dokument steht als PDF zum Download bereit: https://www.boddenberg.de/ArtikelPdf/der-kollege-den.pdf — © Ulrich B. Boddenberg · boddenberg.de

Noch Fragen? Frag Uli

Du hast eine Frage zu diesem Thema? Schreib sie einfach hier rein. Ich antworte persönlich, kurz und ohne Verkaufsgespräch.

Antwort innerhalb von 24 Stunden

Deine Mailadresse nutze ich nur, um dir zu antworten. Kein Newsletter, keine Weitergabe. Zur Datenschutzerklärung