Teams Koexistenz-Konfiguration
Auf der Seite Teams Umstellung beschreibe ich die verschiedenen Koexistenz-Betriebsarbeiten von Skype for Business Online und Teams. Diese Seite widmet sich nun der Konfiguration und technischen Details.
Hinweis:
Ich beschreibe hier die Konfiguration in Office 365. Einige
Commandlets wie z.B. *-CsTeamsUpgradePolicy" gibt es auch On-Premises, obwohl es dort kein Teams gibt. Diese
Einstellungen dienen auch nicht dazu die Richtlinien über
AADConnect in die Cloud zu replizieren sondern zur
Konfiguration des lokalen Skype for Business Clients. Gerade
während einer Einführung mit Teams ist es nicht
ungewöhnlich, dass Die Benutzer Teams in der Cloud schon
nutzen aber dennoch mit Skype for Business auf lokalen
Servern arbeiten.
Teams PowerShell oder Browser!
Die Verwaltung von Teams ist auch Mittel 2018 noch sehr variabel. Den vollständigen Funktionsumfang haben Sie natürlich immer mit der Powershell. Eine Teilmenge der Einstellmöglichkeiten ist aber auch über einen Browser möglich. Wobei es hier schon wieder mindestens zwei URls gibt
- Office 365 Portal
Hier können sie manuell Benutzer anlegen, wenn diese nicht über das Office 365 Identity Management angelegt wird. Auch die Lizenz können Sie hier zuweisen und anhand des UPNs wird auch die SIP-Adresse gebildet - Teams and Skype Admin Center
https://admin.teams.microsoft.com/
Es ist offensichtlich, dass Microsoft die Konfiguration von Teams (und Skype) in diesem neuen Portal zusammenfassen will. Allerdings ist noch lange nicht alles umgestellt, so dass es hier auch noch den Verweis zu anderen Webseiten gibt - Skype for Business Control Panel
https://webdir2a.online.lync.com/LSCP (oder anderer Tenants)
Das klassische CSCP gibt es auch in der Cloud und zumindest für die Verwaltung von Rufnummern ist dieser Weg noch erforderlich.
Per Teams PowerShell geht natürlich schon immer alles, was der Administrator selbst einstellen darf. Wobei es die Teams PowerShell in der Form gar nicht gibt, da Teams und Skype for Business Online die gleiche PowerShell nutzen. Es ist als schon irgendwie zu sehen, dass Teams und Skype schon das gleiche Backend nutzen.
TeamsInteropPolicy (Archiv)
Diese Commandlets sind aktuell noch vorhanden aber nicht mehr funktionsfähig, Nutzen Sie stattdessen Grant-CSTeamsUpdatePolicy
Der Wechsel in der Verwaltung erkennen sie schon an den Einstellungen, welcher Benutzer welchen Client benutzt. Anfangs musste Sie als Administrator über mehrere Commandlets die richtige Konfiguration vornehmen. Nicht alle einstellbaren Optionen waren dabei gültig oder sinnvoll und wurden auch nicht übernommen. Von den CSteamsInteropPolices wurden auch einige Werte im Laufe der Zeit gestrichen. So konnte ich eine Zeitlang folgenden Fehler sehen
Von diesen Policies sind aber nur noch drei nutzbar, denn bei dem Versuch die anderen Optionen zu nutzen, bekommen Sie einen Fehler:
TeamsInteropPolicy no longer supports granting policy instances in which the value of CallingDefaultClient differs from the value of ChatDefaultClient. It also no longer supports granting instances in which AllowEndUserClientOverride=true. Only these three instances are supported: DisallowOverrideCallingDefaultChatDefault DisallowOverrideCallingTeamsChatTeams DisallowOverrideCallingSfBChatSfB In the near future, the other instances will be removed and Users will be automatically assigned one of the supported instances. If you are sure you want to temporarily grant a non-supported instance of TeamsInteropPolicy, you can override this warning with -Force.
Nur zur Vollständigkeit hier einmal die komplette Liste, von denen vier Einträge schon nicht mehr genutzt werden können
Import-Module skypeonlineconnector $sfbonlinesession=New-CsOnlineSession Import-PSSession $sfbonlinesession Get-CsTeamsInteropPolicy | ft identity,AllowEndUserClientOverride,CallingDefaultClient,ChatDefaultClient Identity AllowEndUserClientOverride CallingDefaultClient ChatDefaultClient -------- -------------------------- -------------------- ----------------- Global False Default Default Tag:DisallowOverrideCallingDefaultChatDefault False Default Default Tag:DisallowOverrideCallingTeamsChatTeams False Teams Teams Tag:DisallowOverrideCallingSfBChatTeams False SfB Teams Tag:AllowOverrideCallingDefaultChatTeams True Default Teams Tag:DisallowOverrideCallingDefaultChatTeams False Default Teams Tag:AllowOverrideCallingDefaultChatDefault True Default Default Tag:DisallowOverrideCallingSfBChatSfB False SfB SfB
Wenn Sie also noch Verweise auf diese Policies sehen, dann haben Sie einen alten KB-Artikel oder Blog-Eintrag gefunden.
Das gleiche gilt für Get-CsTeamsMigrationConfiguration, welches auch obsolet ist.
CSTeamsUpgradePolicy
Der richtige Weg zur Konfiguration der Einstellungen pro Benutzer geht nun über CsTeamsUpgradePolicy. Hiervon gibt es mehrere Richtlinien.
Get-CsTeamsUpgradePolicy | ft identity,mode,notifySfBUsers,Action,Description -AutoSize Identity Mode NotifySfBUsers Action Description -------- ---- -------------- ------ ----------- Global Islands False None Use either Skype for Business client or Teams client Tag:NoUpgrade Legacy False None Users can use either Skype for Business client or Teams client Tag:NotifyForTeams Legacy True Notify Show notification of pending upgrade in Skype for Business client Tag:UpgradeToTeams TeamsOnly False Upgrade Use Teams Only Tag:Islands Islands False None Use either Skype for Business client or Teams client Tag:IslandsWithNotify Islands True Notify Use either Skype for Business client or Teams client Tag:SfBOnly SfBOnly False None Use only Skype for Business Tag:SfBOnlyWithNotify SfBOnly True Notify Use only Skype for Business Tag:SfBWithTeamsCollab SfBWithTeamsCollab False None Use Skype for Business and use Teams only for group collaboration Tag:SfBWithTeamsCollabWithNotify SfBWithTeamsCollab True Notify Use Skype for Business and use Teams only for group collaboration
Sie sehen hier einmal die "Global"-Richtlinie, die automatisch an alle Teams-Benutzer zugewiesen wird, die keine abweichende manuell zugewiesene Policy haben. Diese Richtlinien können sie nicht verändern. Sie sind durch Microsoft vorgegeben. Es gibt also kein Set-CsTeamsUpgradePolicy-Commandlet.
Policy am Tenant zuweisen.
Wenn Sie das Teams Admin Center ansurfen, dann können Sie die globale "Default Einstellung" per Browser ändern. Allerdings gibt es hier meist nur wenige Einstellmöglichkeiten.
Je nach Tenants sehen vielleicht auch noch "Teams Only" als Auswahl. Ich habe aber (Stand Nov 2018) noch nicht gesehen, dass ich hier "SfBwithTeamsCollab" oder "SfBwithTeamsCollabandMeeting" auswählen kann. Die Einstellung erfolgt im Tenant und kann per Powershell wie folgt angezeigt werden:
PS C:\> Get-CsTenant | fl *teams* TeamsUpgradeOverridePolicy : DisableTeamsProvisioning : False TeamsUpgradeEligible : False TeamsUpgradeEffectiveMode : Islands TeamsUpgradeNotificationsEnabled : False TeamsUpgradePolicyIsReadOnly : None
Hier ist der TeamsUpgradeEffectiveMode relevant. Es gibt allerdings kein "Set-CsTenant". Die Einstellung kann wie folgt geändert werden.
Grant-CsTeamsUpgradePolicy -Global -PolicyName tag:sfbwithteamscollab Get-CsTenant).teamsupgradeeffectivemode SfBWithTeamsCollab
Hier sind auch die anderen Zwischenstellungen möglich. Die für ihre Umgebung passende Einstellung können Sie anhand der Beschreibung auf den folgenden Seiten ermitteln.
Policy pro Benutzer anzeigen
Sie können an den Policies selbst also nichts ändern aber sehr wohl den Benutzern abweichende Policies zuweisen. Das ist für die später anstehende globale Umstellung wichtig zu wissen. Also schauen wir erst einmal, wie viele Benutzer welche abweichende Policies haben:
Get-CsOnlineUser | group TeamsUpgradePolicy -NoElement Count Name ----- ---- 65 1 SfBOnly 1 SfBWithTeamsCollab 2 UpgradeToTeams
Hier gibt es also 65 Benutzer, bei denen das Feld TeamsUpgradePolicy nicht gefüllt ist und damit sich nach der globalen Richtlinie orientieren. Über einen Filter kann die Liste der Ausnahmen sehr schnell ermittelt werden
Get-CsOnlineUser ` -Filter {TeamsUpgradePolicy -ne $null} ` | ft sipaddress,TeamsUpgradeEffectiveMode,TeamsUpgradePolicy SipAddress TeamsUpgradeEffectiveMode TeamsUpgradePolicy ---------- ------------------------- ------------------ sip:fctest1@uclabor.de SfBOnly SfBOnly sip:fctest2@uclabor.de SfBWithTeamsCollab SfBWithTeamsCollab sip:fctest3@uclabor.de TeamsOnly UpgradeToTeams sip:fctest4@uclabor.de TeamsOnly UpgradeToTeams
Sie sehen hier auch das Feld "TeamsUpgradeEffectiveMode", welches bei allen Personen, die nicht manuell konfiguriert sind, die globale Standardeinstellung zeigt.
Get-CsOnlineUser | ft sipaddress,TeamsUpgradeEffectiveMode,TeamsUpgradePolicy SipAddress TeamsUpgradeEffectiveMode TeamsUpgradePolicy ---------- ------------------------- ------------------ sip:SfBOOnly@uclabor.de Islands sip:User1@uclabor.de Islands sip:Cloudde3@uclabor.de Islands Islands sip:user1@UCLABOR.DE Islands sip:fctest2@uclabor.de SfBWithTeamsCollab SfBWithTeamsCollab sip:fctest4@uclabor.de TeamsOnly UpgradeToTeams ...
Beachten Sie bei Auswertungen, dass "Get-CSOnlineUser" auch Objekte liefert, die keine SIP-Adresse haben. Benutzer, die keine Skype for Business Lizenz haben, können durchaus eine Teams Lizenz haben. Ohne SIP-Adresse wird das mit der Federation und Koexistenz natürlich knifflig.
Im Vergleich zur PowerShell sehne Sie im Teams Admin Center deutlich weniger.
Konfiguration ändern
Über die GUI kann ich beim Benutzer nur einen Teil der Policies zuweisen.
Da bleibe ich doch lieber bei der Powershell, mit der ich effektiv und schnell die Änderungen durchführen kann.
Grant-CsTeamsUpgradePolicy fctest1@uclabor.de -PolicyName Tag:IslandsWithNotify Grant-CsTeamsUpgradePolicy fctest2@uclabor.de -PolicyName Tag:SfBOnlyWithNotify Grant-CsTeamsUpgradePolicy fctest3@uclabor.de -PolicyName Tag:SfBWithTeamsCollabWithNotify Grant-CsTeamsUpgradePolicy fctest4@uclabor.de -PolicyName Tag:SfBWithTeamsCollabAndMeetings Grant-CsTeamsUpgradePolicy fctest5@uclabor.de -PolicyName Tag:IslandsWithNotify
Wichtig:
Benutzer, die in Teams mit Instant Messaging (Chat) und
Präsenz arbeiten wollen und mit Skype for Business Partnern
federieren, müssen ggfls. vorher nach Skype for Business
Online migriert werden. Die PowerShell warnt aber auch davor
Grant-CsTeamsUpgradePolicy -Identity user3@msxfaq.de -PolicyName tag:UpgradeToTeams User "user3@msxfaq.de" is homed On-Premises in a Skype for Business or Lync deployment. On-Premises users can be upgraded to Teams using Move-CsUser in the On-Premises tools. For details, see http://aka.ms/UpgradeToTeams + CategoryInfo : NotSpecified: (CN=79cb73ea-6cc...c1e001,DC=local:OCSADUserOrAppContact) [Grant-CsTeamsUp gradePolicy], OnpremUserInvalidOperationException + FullyQualifiedErrorId : GrantPolicy,Microsoft.Rtc.Management.AD.Cmdlets.AssignCSTeamsUpgradePolicyCmdlet + PSComputerName : admin1e.online.lync.com
Welche Policies alles verwendet werden können, erhalten Sie über Get-CsTeamsUpgradePolicy. Entsprechend werden davon abgeleitet die drei Einstellungen vorgenommen:
Policy | TeamsUpgradeEffectiveMode | TeamsUpgradeNotificationsEnabled | TeamsUpgradePolicy |
---|---|---|---|
$null | Je nach Default Einstellung der "global" Policy |
||
Tag:NoUpgrade | Legacy |
False |
NoUpgrade |
Tag:NotifyForTeams | Islands |
True |
$null |
Tag:UpgradeToTeams | Islands |
False |
$null |
Tag:Islands | Islands |
False |
$null |
Tag:IslandsWithNotify | TeamsOnly |
True |
NotifyForTeams |
Tag:SfBOnly | Islands |
False |
IslandsWithNotify |
Tag:SfBOnlyWithNotify | SfBOnly |
True |
SfBOnlyWithNotify |
Tag:SfBWithTeamsCollab | SfBWithTeamsCollab |
False |
SfBWithTeamsCollabWithNotify |
Tag:SfBWithTeamsCollabWithNotify | SfBWithTeamsCollab |
True |
SfBWithTeamsCollab |
Tag:SfBWithTeamsCollabAndMeetings | geplant |
geplant |
geplant |
Bei der Zuweisung kann es durchaus zur ein oder anderen Warnung kommen wie:
Grant-CsTeamsUpgradePolicy fctest2@uclabor.de -PolicyName Tag:UpgradetoTeams WARNUNG: Users with this policy will become full Teams-only Users. They will no longer be able to use Skype for Business clients, except to join Skype for Business meetings. For details, see http://aka.ms/UpgradeToTeams Grant-CsTeamsUpgradePolicy fctest2@uclabor.de -PolicyName Tag:SfBOnlyWithNotify WARNUNG: Object with identity "CN=xxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx,OU=xxxx-xxxx-xxxx-xxxx-xxxx,OU=OCS Tenants,DC=lync2a001,DC=local" was successfully changed, but due to current network conditions the change may not be reflected immediately.
Hinweis: Änderungen an diesen
Einstellungen können bis zu 24h brauchen, ehe Sie aktiv sind
Kontrollieren Sie einfach, ob die Einstellung unter
TeamsUpgradeEffectiveMode zu TeamsUpgradePolicy passt.
- 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
Einstellungen im Teams Admin Center
Schauen wir und doch einfach mal die Einstellmöglichkeiten an. Da gibt es einmal die globale Einstellung pro Tenant, die Sie auch einfach auf der Webseite https://admin.teams.microsoft.com/company-wide-settings/teams-upgrade einstellen können. Ende Juni 2018 gab es folgende Auswahl.
Damit wird aber keine globale Einstellung am Tenant selbst umgestellt, sondern nur die "Default CsTeamsUpgradePolicy", die für alle Benutzer gilt, bei denen nichts anderes abweichend eingestellt ist.
Dennoch ist die Warnung bei der Umstellung auf "Teams Only" erst einmal für viele Administratoren eine Schrecksekunde.
Vor der Umstellung des globalen Defaults sollten Sie also sicherstellen, dass alle Benutzer wie gewünscht konfiguriert sind
-
Setting your coexistence and upgrade settings
https://docs.microsoft.com/en-us/microsoftteams/setting-your-coexistence-and-upgrade-settings
Hinweis auf dem Client
Wenn Sie die Upgrade-Polices genau angeschaut haben, dann gibt es da einige Richtlinien mit einem "Notify" im Namen.
Get-CsTeamsUpgradePolicy | ? {$_.NotifySfBUsers -eq $true } | ft identity,mode,notifySfBUsers,Action,Description -AutoSize Identity Mode NotifySfBUsers Action Description -------- ---- -------------- ------ ----------- Tag:NotifyForTeams Legacy True Notify Show notification of pending upgrade in Skype for Business client Tag:IslandsWithNotify Islands True Notify Use either Skype for Business client or Teams client Tag:SfBOnlyWithNotify SfBOnly True Notify Use only Skype for Business Tag:SfBWithTeamsCollabWithNotify SfBWithTeamsCollab True Notify Use Skype for Business and use Teams only for group collaboration
Mit diesen Einstellungen bekommt der Anwender die Information im Skype for Business Client eingeblendet, dass er Teams verwenden kann oder verwenden muss.
oder
Diese Meldung erhält z.B. ein Client, der auf "Teams Only" umgestellt wurde.
Wenn ein Skype Anwender mit einem Teams-Anwender chattet, dann ist auch das zu sehen
Auch in Teams sehen ich, wenn ich per Federation einen Skype for Business Anwender anspreche:
Wenn mein Benutzer komplett auf "Teamsonly" umgestellt wurde, dann kann ich den Skype Client zwar noch starten und mich anmelden aber werde direkt auf Teams verwiesen:
Für mich etwas unverständlich bleibt der Skype Client aber im Hintergrund dennoch aktiv.
CSTeamsUpgradeConfiguration
Diese Einstellung steuert Tenant-weit, ob der Skype for Business Client im Hintergrund schon die Team-Applikation herunterlädt und mit welchem Client der Teilnehmer in Skype for Business Meetings teilnimmt. Die beiden Werte stehen damit zwar in der gleichen Einstellung aber haben aus meiner Sicht nicht wirklich was miteinander zu tun. die CSUpgradePolicy ist hier viel wichtiger. Die Einstellung ist auch nur global. Sie können also nicht weitere Konfigurationen mittels New-CSTeamsUpgradeConfiguration erstellen und mit Grant-CSTeamsUpgradeConfiguration individuell an Benutzer zuweisen. Diese Commandlets gibt es schlicht noch nicht und ich weiß nicht ob sie überhaupt noch kommen.
PS C:\> Get-CsTeamsUpgradeConfiguration Identity : Global DownloadTeams : True SfBMeetingJoinUx : NativeLimitedClient
Vielleich war es ja mal geplant aber wird nicht mehr umgesetzt. Der Parameter "DownloadTeams" wird eh nur ausgewertet, wenn der Benutzer über eine Policy entweder ein "Notify" für die SfBUser" oder TeamsOnly als Mode hat.
- Get-CsTeamsUpgradeConfiguration
https://docs.microsoft.com/en-us/powershell/module/skype/get-csteamsupgradeconfiguration?view=skype-ps - Set-CsTeamsUpgradeConfiguration
https://docs.microsoft.com/en-us/powershell/module/skype/set-csteamsupgradeconfiguration?view=skype-ps
Get-CSTeamsUpgradeStatus
Dieses Commandlet finde ich zwar in meiner Teams PowerShell aber ich habe keine Beschreibung dazu. Ich könnte mir vorstellen, dass hier ein Status beim Wechsel von Skype zu Teams zu finden ist. Mit dem Umstieg auf "TeamsOnly" werden ja auch die Buddy-Listen von Skype for Business zu Teams übertragen.
Get-CsTeamsUpgradeStatus RunspaceId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx TenantId : xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx State : Null OptInEligibleDate : UpgradeScheduledDate : UserNotificationDate : UpgradeDate : LastStateChangeDate :
Bislang waren bei mir die Daten mit Ausnahme der TenandID und des Runspace immer leer.
Weitere Links
- Teams Zwangsmigration
- Teams Umstellung
- Teams blockieren (SfBOnly)
- Microsoft Teams and Skype for Business coexistence and
interoperability
https://docs.microsoft.com/en-us/MicrosoftTeams/teams-and-skypeforbusiness-coexistence-and-interoperability - Understand coexistence and upgrade journey for Skype for
Business and Teams
https://docs.microsoft.com/en-us/MicrosoftTeams/upgrade-and-coexistence-of-skypeforbusiness-and-teams - Manage Teams during the transition to the new Microsoft
Teams and Skype for Business Admin Center
https://docs.microsoft.com/en-us/MicrosoftTeams/manage-teams-skypeforbusiness-admin-center - Aktivieren von Teams Seite an Seite mit Skype for Business
https://docs.microsoft.com/de-de/microsoftteams/guidance-skypeforbusiness - Slack to Microsoft Teams Migration
https://www.netwoven.com/2018/02/27/slack-to-microsoft-teams-migration/