Teams Mode Enforcement
Die Verwendung von Teams durch Anwender kann umfangreich durch Richtlinien gesteuert werden. Diese Seite beschreibt die verschiedenen Richtlinien und ihre Abhängigkeiten.
Achtung
Der "Stichtag" für die
beschriebene Änderung ist der 25. März und betrifft Benutzer. die für einen SfB*-Mode konfiguriert sind
und deren Richtlinien abweichend einstellt sind.
Ausgangssituation
Microsoft hat es in der Dokumentation schon länger beschrieben aber nicht alle Administratoren haben die Umsetzung entsprechend umgesetzt. Ich muss dazu aber auch sagen, dass der Updateweg von Skype for Business zu Teams auch einige Umwege genommen hat, die zu Konfigurationsfehlern führen können. Anfangs musste ein Administrator mehrere PowerShell-Commandlets abstimmen (CsTeamsUpgradeConfiguration, CsTeamsMigrationConfiguration, CsTeamsInteropPolicy, CsTeamsUpgradePolicy). Irgendwann im Herbst 2018 wurde dann die CsTeamsUpgradePolicy die dominante Einstellung und CsTeamsInteropPolicy wurde inaktiv. Das bedeutet aber nicht, dass die anderen Richtlinien nicht weiter zu setzen sind. Microsoft beschreibt das auf der folgenden Seite sehr ausführlich:
- Setting your coexistence and upgrade
settings
https://docs.microsoft.com/en-us/microsoftteams/setting-your-coexistence-and-upgrade-settings - Teams client experience and conformance
to coexistence modes
https://docs.microsoft.com/en-us/microsoftteams/teams-client-experience-and-conformance-to-coexistence-modes
In der Kurzfassung sind folgende Policies und Einstellungen relevant:
Einstellung | SfBOnly | SfBWithTeamsCollab | SfBWithTeamsCollabAndMeetings | TeamsOnly | Islands |
---|---|---|---|---|---|
TeamsMessagingPolicy. |
$false |
$false |
$false |
$true | $true |
TeamsCallingPolicy |
$false |
$false |
$false |
$true | $true |
TeamsMeetingPolicy |
$false |
$false |
$true | $true | $true |
TeamsMeetingPolicy |
$false |
$false |
$true | $true | $true |
Aber sie müssen sie sich schon noch selbst darum kümmern und wenn Sie einem Benutzer eine Policy zuweisen, dann könnten Sie folgendes sehen:
Das ganz noch mal Text für Google und Go
`Grant-CsTeamsUpgradePolicy -Identity user1@uclabor.com -PolicyName SfBWithTeamsCollab WARNING: The user 'user1@uclabor.com' currently has effective policy enabled values for: AllowUserChat, AllowPrivateCalling, AllowPrivateMeetingScheduling, AllowChannelMeetingScheduling. In the near term, when granting TeamsUpgradePolicy with mode=SfBWithTeamsCollab to a user, you must also separately assign policy to ensure the user has effective policy disabled values for: AllowUserChat, AllowPrivateCalling, AllowPrivateMeetingScheduling, AllowChannelMeetingScheduling. In the future, the capability will automatically honor TeamsUpgradePolicy.`
Die Herausforderung ist also nicht neu oder unerwartet.
Passende Policies
Sie sollten also mit der Änderung der TeamsUpdatePolicy auch die richtigen Policies zuweisen. Hier mal eine Filterung der Policies in einem normalen Tenant
- Get-CsTeamsMessagingPolicy
Interessant, das es hier in meinem Tenant gar keine Richtlinie gibt die ich anwenden könnte. Ich muss mir also erst eine bauen
PS C:\> Get-CsTeamsMessagingPolicy | ft identity,AllowUserChat Identity AllowUserChat -------- ------------- Global True Tag:Default True Tag:EduFaculty True Tag:EduStudent True
- Get-CsTeamsCallingPolicy
Hier gibt es zumindest eine Richtlinie, die ein "AllowPrivateCalling = $False" hat
PS C:\> Get-CsTeamsCallingPolicy | ft identity,AllowPrivateCalling Identity AllowPrivateCalling -------- ------------------- Global True Tag:AllowCalling True Tag:DisallowCalling False Tag:AllowCallingPreventTollBypass True Tag:AllowCallingPreventForwardingtoPhone True
- Get-CSTeamsMeetingPolicy
Auch hier gibt es nur zwei Polices, bei denen die beiden Werte auf "false" stehen und damit für die Benutzer mit der Einstellung "SfBOnly" oder "SfBWithTeamsCollab" passend sind.
PS C:\> Get-CsTeamsMeetingPolicy | ft identity,AllowPrivateMeetingScheduling,AllowChannelMeetingScheduling Identity AllowPrivateMeetingScheduling AllowChannelMeetingScheduling -------- ----------------------------- ----------------------------- Global True True Tag:BypassMeetingLobby True True Tag:AllModality True True Tag:AllOn True True Tag:RestrictedAnonymousAccess True True Tag:AllOff False False Tag:RestrictedAnonymousNoRecording True True Tag:Default True True Tag:Kiosk False False PS C:\> Get-CsTeamsMeetingPolicy tag:alloff Identity : Tag:AllOff Description : AllowChannelMeetingScheduling : False AllowMeetNow : False AllowIPVideo : False AllowAnonymousUsersToDialOut : False AllowAnonymousUsersToStartMeeting : False AllowPrivateMeetingScheduling : False AutoAdmittedUsers : EveryoneInCompany AllowCloudRecording : False AllowOutlookAddIn : False AllowPowerPointSharing : False AllowParticipantGiveRequestControl : False AllowExternalParticipantGiveRequestControl : False AllowSharedNotes : False AllowWhiteboard : False AllowTranscription : False MediaBitRateKb : 50000 ScreenSharingMode : Disabled AllowPSTNUsersToBypassLobby : False AllowOrganizersToOverrideLobbySettings : False
Es ist aber ein steiniger Weg, wenn Sie dir Richtlinien bislang nicht richtig angewendet haben.
- Teams client experience and conformance to coexistence
mode
https://docs.microsoft.com/en-us/MicrosoftTeams/teams-client-experience-and-conformance-to-coexistence-modes - Setting your coexistence and upgrade settings
https://docs.microsoft.com/en-us/microsoftteams/setting-your-coexistence-and-upgrade-settings
Weckruf: Feb 2018
Im Februar 2018 bekam ich dann folgende Mail als Administrator:
You are receiving this message because our reporting indicates one or more users in your organization are assigned one of the Skype for Business coexistence modes (either SfBOnly, SfBWithTeamsCollab, or SfBWithTeamsCollabAndMeetings), *and* they do not have consistent settings in TeamsMessagingPolicy, TeamsMeetingPolicy, and TeamsCallingPolicy. As a result, when this is enforced, some users may see a change in their experience in the Teams client as the user experience begins to conform to their mode.
Hier noch mal die komplette Mail:
Microsoft wird also die Einstellungen der Upgrade-Policy nun auch durchsetzen und dem Benutzer im Client ggfls. Funktionen ab 25. März wegnehmen. Auf der einen Seite ist das gut, weil sich Teams dann endlich verhält, wie der Administrator es vorgegeben hat aber auf der anderen Seite kann es sein, dass Anwender bestimmte Funktionen nicht mehr nutzen können, die sie bislang verwendet haben.
Aus technischer Sicht wird Microsoft die von ihnen konfigurierten Einstellungen in den Richtlinien nicht verändern aber einfach bei der Auslieferung an den Client überstimmen. Es gibt also keinen Weg dies zu umgehen.
- Teams client experience and conformance
to coexistence modes
https://docs.microsoft.com/en-us/microsoftteams/teams-client-experience-and-conformance-to-coexistence-modes
Der schmutzige Weg
Es gibt einen einfachen und schnellen Weg, um Benutzer mit unstimmigen Einstellungen zu ermitteln. Sie lesen einfach die Benutzer und ihre aktuelle UpgradePolicy ein und weisen Sie direkt wieder zu.
get-csonlineuser -resultsize unlimited ` | %{ ` Grant-CsTeamsUpgradePolicy ` -Identity $_.identity ` -PolicyName $_.teamsupgradepolicy ` }
Auf der Konsole sehen Sie dann alle gelben Warnungen, unter denen auch die Unstimmigen Benutzer auftauchen. Allerdings müssen Sie dann immer noch suchen, was genau unstimmig ist. Interessanterweise ist es mir nicht gelungen, die Ausgabe mit "-WarningVariable" einfangen.
Report: Wer nutzt was?
Weder die Mail von Microsoft noch ein Office 365 Report liefert aktuell die Information, welche Benutzer "falsch" konfiguriert sind. Die Abteilung, welche die Mail erstellt hat, kann aber wohl auch nur die Werte lesen aber keine dazu gehörenden Benutzer. Daher gibt es keinen Report zu den betroffenen Personen. Aber diesen Bericht können wir selbst erstellen.
Aufgrund der kurzen Zeit bis zum Zeitpunkt habe ich darauf verzichtet, über Graph zu ermitteln, welche Benutzer welche Funktion nutzen. Ich beschränke mich darauf die Benutzer zu finden, die laut Konfiguration mehr dürfen als sie laut UpgradePolicy nutzen dürfen. Vielleicht sind es ja nur ein paar Benutzer, die sie manuell nacharbeiten können. Wir lesen also erst alle Richtlinien aus, um uns die entsprechenden Einstellungen zu merken und prüfen dann Benutzer für Benutzer die errechneten Richtlinien gegen die erforderlichen Einstellungen. Wenn ein Benutzer dabei keine Policy hat, gilt die "Global"-Policy
Das ist bei meinem Benutzer gut zu sehen, der noch "Global" für alle drei Richtlinien hatte und die natürlich nicht mit "SfBWithTeamsCollab" zusammen gehen
Die Bildschirmausgabe ist natürlich primär zur Fehlersuche. Das Skript sendet eine Zusammenfassung in die Pipeline und kann z.B. über Export-CSV auch in Datei geschrieben werden. Das einzelne Objekt hat die folgenden Properties
UPN : user1@uclabor.de TeamsUpgradeEffectiveMode : SfBWithTeamsCollab AllowUserChat : True AllowUserChatok : False AllowPrivateCalling : False AllowPrivateCallingok : True AllowPrivateMeetingScheduling : True AllowPrivateMeetingSchedulingok : False AllowChannelMeetingScheduling : True AllowChannelMeetingSchedulingok : False
Damit ist eine Weiterverarbeitung natürlich einfach möglich.
Das Skript habe ich schnell erstellt und nicht ausführlich getestet. Es "liest" nur die Einstellungen ein und gibt das Ergebnis aus. Kontrollieren Sie zumindest
check-teamspolicies.20190320.ps1
Einfach in ein Verzeichnis kopieren, die Erweiterung
anpassen und aus der PowerShell ausführen. Auf dem Client
muss der Skype for Business Online Connector installiert
sein.
Aktionsplan
Sie können drauf warten, bis Microsoft ab dem 25. März die über die "TeamsUpgradePolicy" vorgegebene Betriebsart auf ihren Clients durchsetzt oder Sie können schon jetzt anfangen, ihre Client Policies entsprechend anzupassen und den Benutzern zuzuweisen, so dass nicht zu einem Stichtag alle Benutzer den Helpdesk anrufen. Das kann durchaus passieren, da heute Benutzer in Teams einen 1:1 Chat nutzen können und das dann später nicht mehr möglich sein wird. Für viele Firmen steht daher eine Frage nach dem "richtigen" Mode für diese Benutzer an
- Upgrade Policies gewinnt
Wenn Sie nichts machen, dann verlieren die betroffenen Benutzer einen Teil ihrer Funktion, weil Sie als Administrator dies per TeamsUpgradePolicy so mit Absicht konfiguriert haben. Ich würde mir noch mal die Rückendeckung der IT-Leitung oder des Geschäftsführer holen. - Teams Only
Dann können Sie alles andere weiter nutzen aber der Weg ist für Firmen mit Skype for Business Telefonie nicht ohne weiteres gangbar. Callcenter und ResponseGroups sind anzupassen oder in der heutigen Form nicht möglich und die TK-Kopplung über DirectRouting erfordert ebenfalls Umstellungen. - Island-Mode
Über diesen Weg können die Anwender in Teams wieder alles machen wir bisher aber die Anwender in diesem Mode müssen nun wieder beide Clients parallel starten, wenn Sie nichts verpassen wollen.
Microsoft würde sicherlich "Teams Only" bevorzugen aber die Wegnahme der nicht erlaubten Funktionen war schon lange überfällig. Ich weiß nicht, warum Microsoft damals mit der Einführung der TeamsUpgradePolicy die Konfiguration nicht erzwungen hat.
Ich gehe davon aus, dass die meisten Firmen als Nothilfe wieder auf "Island" zurück gehen, wenn Benutzer z.B. in Teams weiterhin 1:1 Chat nutzen wollen und in Skype for Business telefonieren.
Hinweis:
Denken Sie daran, dass Änderungen auch einige Stunden
verzögert wirken. Der Teams Client aber auch die Teams
Backends cachen Informationen und diese Zeiten sind durchaus
etwas länger
Weitere Links
- Get-O365Usage
-
Teams client experience and conformance to
coexistence modes
https://docs.microsoft.com/en-us/microsoftteams/teams-client-experience-and-conformance-to-coexistence-modes -
Teams PowerShell
Einstellungen per PowerShell automatisieren - Setting your coexistence and upgrade settings
https://docs.microsoft.com/en-us/microsoftteams/setting-your-coexistence-and-upgrade-settings - Manage meeting policies in Teams
https://docs.microsoft.com/en-us/microsoftteams/meeting-policies-in-teams - Retention policies in Microsoft Teams
https://docs.microsoft.com/de-de/microsoftteams/retention-policies - Manage Microsoft Teams features in your
Office 365 organization
https://docs.microsoft.com/en-us/microsoftteams/enable-features-office-365 - Migration and interoperability guidance
for organizations using Teams together with
Skype for Business
https://docs.microsoft.com/en-us/microsoftteams/migration-interop-guidance-for-teams-with-skype
- Get-O365UsageReports: Use Graph to pull
all Office 365 Usage Reports to Excel
https://realtimeuc.com/2018/02/get-o365usagereports/ - Looking at Microsoft Teams Office 365
Usage Reports
https://tomtalks.blog/2017/11/looking-microsoft-teams-office-365-usage-reports/ - Accessing Microsoft Teams Usage
Data in code with Microsoft Graph
https://blog.thoughtstuff.co.uk/2017/12/accessing-microsoft-teams-usage-data-in-code-with-microsoft-graph/
Manage Coexistence and
Interoperability between SfB and Teams (Upgrade part 3 of 4)
https://www.youtube.com/watch?v=wEc9u4S3GIA&list=PLaSOUojkSiGnKuE30ckcjnDVkMNqDv0Vl