www.SAMURAJ-cz.com 

15.05.2021 Žofie Translate to English by Google     VÍTEJTE V MÉM SVĚTĚ

Články

Skype for Business Hybrid konfigurace

Pondělí, 21.12.2020 14:41 | Samuraj - Petr Bouška |
Pokud provozujeme On-Premises Skype for Business Server, a začneme využívat cloudové služby Microsoft 365 / Office 365 (přesněji aplikaci Teams), tak ve většině případů musíme řešit hybridní konfiguraci Skype for Business. Cílem je, aby mohli být někteří uživatelé na interním serveru a někteří v cloudu a fungovaly všechny komunikace. Situace je komplikovaná, protože v cloudu jde v současnosti o Skype for Business Online a zároveň Teams. Princip je trochu podobný jako Exchange Hybrid, kdy máme některé schránky interně a jiné v cloudu.

Pozn.: Testy jsem prováděl na Skype for Business Server 2015 verze 6.0.9319.591 (July 2020) běžícím na Windows Server 2012 (starý OS vše lehce komplikuje).

Pozn.: Na webu se všude uvádí informace, že 31. 7. 2021 dojde ke zrušení služby Skype for Business Online.

Microsoft prosazuje, aby firmy přešly se všemi službami do jejich cloudu. I hybridní scénář Skype for Business popisuje jako cestu migrace do cloudu. A příliš se nevěnuje situaci, kdy je část uživatelů interně a část online. Osobně si myslím, že konfigurace Skype for Business Hybrid je dobrý krok, ale velké zvážení potřebuje migrace uživatelů a nastavení koexistence (to bude probráno v dalších dílech).

Oficiální dokumentace, popisující konfiguraci a migraci uživatelů, je docela slušná (jsem přesvědčen, že před pár měsíci řadu věcí neobsahovala a složitě jsem je musel zjišťovat a hledat jinde).

Úvod Skype for Business, Skype for Business Online, Teams

Úvodní podmínkou pro hybridní využití služeb Skype for Business (SfB) spolu se Skype for Business Online (SfB Online) a Teams, je funkční Azure Active Directory Connect a replikace všech účtů, které mají fungovat lokálně i v cloudu, z On-Premises AD DS do Azure AD. V té chvíli se do cloudu dostane informace, že má uživatel aktivovaný účet na interním Skype for Business a kde se nachází (synchronizují se atributy msRTCSIP*).

Pokud toto nemáme, tak funguje Skype for Business a Teams separovaně, ale nefungují všechny komunikace. Například při situaci, kdy máme odděleně účty v Microsoft 365 a lokálně (bez synchronizace Azure AD Connect). Lokální uživatelé nemohou komunikovat s uživateli v cloudu ve stejné organizaci a naopak. Komunikace od externích kontaktů může fungovat, ale (podle jejich řešení) dojde buď do Teams nebo do Skype for Business. Uživatelé Teams mohou kontaktovat uživatele v jiných Tenantech (organizacích) Microsoftu.

Pokud provedeme spojení účtů a nasadíme Azure AD Connect (nebo od začátku synchronizujemei uživatele pomocí AAD Connect a neřešíme Skype for Business Hybrid), tak se situace nezlepší, ale zhorší. Najednou uživatelé v Teams nemohou vyhledat a komunikovat s uživateli v jiných Tenantech. To jsme si popsali v Nefunkční komunikace z MS Teams na externí kontakty.

Připojení pomocí PowerShell

Mnoho konfigurací se provádí pomocí PowerShellu, takže je důležité se připojit do daného prostředí.

Skype for Business

Pokud nejsme přímo na serveru, kde máme instalované Management Tools spolu se SkypeForBusiness Module (C:\Program Files\Common Files\Skype for Business Server 2015\Modules\SkypeForBusiness). Tak můžeme vytvořit Remote Session na Skype for Business Server.

$SfBSession = New-PSSession -ConnectionURI https://sfb.firma.local/ocspowershell -Authentication Negotiate 
Import-PSSession $SfBSession
Remove-PsSession $LyncSession 

Poslední příkaz uzavře session (takže jej použijeme, až když končíme). Příklad výše použije pro ověření Kerberos a aktuálně přihlášeného uživatele. Další možnost je zadat přihlašovací údaje.

$credential = Get-Credential
$SfBSession = New-PSSession -ConnectionURI https://sfb.firma.local/ocspowershell -Credential $credential
Import-PSSession $SfBSession

Skype for Business Online a Teams

Pro připojení do Skype for Business Online můžeme využít starší metodu, kdy nainstalujeme Skype for Business Online Connector.

Import-Module SkypeOnlineConnector
$SfBOsession = New-CsOnlineSession -AllowClobber
Import-PsSession $SfBOsession

Někdy může být potřeba specifikovat defaultní doménu v cloudu.

$SfBOsession = New-CsOnlineSession -OverrideAdminDomain firma.onmicrosoft.com

Můžeme také zobrazit výpis jednotlivých kroků připojování.

$SfBOsession = New-CsOnlineSession -OverrideAdminDomain firma.onmicrosoft.com -Verbose

Nebo novější metodu, kdy instalujeme poslední verzi Teams PowerShell module, která v sobě obsahuje Skype for Business Online Connector.

Install-Module MicrosoftTeams
Import-Module MicrosoftTeams
Update-Module MicrosoftTeams

Připojení do Skype for Business Online

$SfBOsession = New-CsOnlineSession
Import-PsSession $SfBOsession

Připojení do Teams

Connect-MicrosoftTeams

Problémy instalace modulu

Na starém OS Windows Server 2012 jsem řešil několik problémů. První bylo potřeba aktualizovat PowerShell (poté je vyžadován restart). Zvolil jsem doporučenou verzi pro Teams Module, tedy PowerShell 5.1.

Další problém byl, že nešlo instalovat žádný PowerShell Module, protože se jej nepodařilo stáhnout z webu. Pouze část chyby je níže.

PS C:\> Install-Module PowershellGet -Force

NuGet provider is required to continue
Do you want PowerShellGet to install and import the NuGet provider now?

WARNING: Unable to download from URI 'https://go.microsoft.com/fwlink/?LinkID=627338&clcid=0x409'
to ''.
WARNING: Unable to download the list of available providers. Check your internet connection.
PackageManagement\Install-PackageProvider : No match was found for the specified search criteria for the provider 'NuGe
t'. The package provider requires 'PackageManagement' and 'Provider' tags. Please check if the specified package has th
e tags.

Bylo to způsobeno tím, že .NET Framework používal pouze staré SSL/TLS protokoly. Našel jsem rady v Install-Module - unable to download error.

PS C:\> [Net.ServicePointManager]::SecurityProtocol
Ssl3, Tls

Nastavení pro aktuální session

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Trvalá změna úpravou registrů.

Set-ItemProperty -Path 'HKLM:\SOFTWARE\Wow6432Node\Microsoft\.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' `
 -Value '1' -Type DWord

Problém s připojením na Skype for Business Online

Pouze někdy (nebo možná někde) jsem narazil na problém, že se nedařilo připojit vzdálenou session na Skype for Business Online. Vracela se chyba Unable to connect to the remote server.

PS C:\> $session = New-CsOnlineSession
Please enter the user principal name (ex. User@Domain.Com): bouska@firma.cz
Get-CsOnlinePowerShellEndpoint : Unable to connect to the remote server
At C:\Program Files\Common Files\Skype for Business Online\Modules\SkypeOnlineConnector\SkypeOnlineConnectorStartup.psm
1:149 char:26
+ ... targetUri = Get-CsOnlinePowerShellEndpoint -TargetDomain $adminDomain ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   + CategoryInfo          : NotSpecified: (:) [Get-CsOnlinePowerShellEndpoint], WebException
   + FullyQualifiedErrorId : System.Net.WebException,Microsoft.Rtc.Management.OnlineConnector.GetPowerShellEndpointCm
   dlet

Řešení, zmíněné na řadě míst (třeba Error connecting to Skype for Business Online PowerShell: Unable to connect to the remote server), je použít přepínač a zadat defaultní doménu končící na onmicrosoft.com (místo té, která je použita v uživatelském jméně).

$Session = New-CsOnlineSession -UserName bouska@firma.cz -OverrideAdminDomain firma.onmicrosoft.com

Konfigurace Skype for Business Hybrid

Celá konfigurace je relativně jednoduchá a výsledkem je, že někteří uživatelé mohou zůstat na On-Premises Skype for Business serveru a některé přesuneme do cloudu, aby mohli plnohodnotně využívat Teams. Musíme povolit federaci s Microsoft 365 a naši SIP doménu (SIP address space) nastavit jako sdílenou mezi On-Premises prostředím a cloudem. Microsoft vše popisuje, včetně speciálních situací.

Předpoklady pro nastavení

  • máme funkční interní prostředí Skype for Business, které korektně komunikuje s internetem (má důvěryhodný certifikát)
  • DNS záznamy SIP domény musí směrovat na On-Premises infrastrukturu
  • máme funkční Azure AD Tenant (Microsoft 365/Office 365) s potřebnými licencemi
  • dobře fungující synchronizaci uživatelů pomocí Azure AD Connect (musí se synchronizovat msRTCSIP atributy)

Podobně jako u Exchange Hybrid musí obě prostředí znát všechny uživatele organizace, kteří mezi sebou mají komunikovat. To znamená, i uživatelé na On-Premises Skype for Business, kteří v cloudu nemají žádnou licenci, musí být synchronizování.

A aby měli interní uživatelé potřebné informace o Online uživatelích organizace, tak je jediná oficiální metoda. Každý uživatel musí být povolen na interním Skype for Business serveru a následně přesunut do cloudu (kde mu nejprve musíme přiřadit licence). Jinak s ním interní uživatelé nebudou moci komunikovat.

Nastavení federace On-Premises Edge s Microsoft 365

Když nastavujeme hybridní spojení mezi Skype for Business Server a Teams (Skype for Business Online), tak musíme zajistit, aby On-Premises a Online prostředí mohla navzájem federovat. Microsoft v požadavcích uvádí, že obě prostředí musíme mít nastavena shodně. To znamená buď na obou Open Federation (s tím budeme počítat dále) nebo Close Federation a pak shodně nastavit Allowed / Blocked Domains. V Online Tenantu musí být povolena federace pro externí komunikaci.

Online prostředí využívá defaultně Open Federation. Na On-Premises to znamená povolit Partner Discovery.

Pomocí Skype for Business Server Control Panel

  • Federation and External Access - Access Edge Configuration
  • editujeme Global a zatrhneme Enable partner domain discovery
Skype for Business Server Control Panel - Enable partner domain discov

Pomocí Skype for Business Server Management Shell

Set-CSAccessEdgeConfiguration -AllowOutsideUsers $True -AllowFederatedUsers $True -EnablePartnerDiscovery $True `
 -UseDnsSrvRouting

Pozn.: Nastavení Partner Discovery znamená, že Skype for Business Server použije DNS záznamy pro komunikaci s doménami, které nemá uvedené v seznamu Allowed Domains.

Vytvoření Hosting Provider - nastavení důvěry Microsoft 365 a povolení sdílené SIP domény

V On-Premises prostředí nastavíme důvěru Microsoft 365 / Office 365 a povolíme sdílený SIP adresní prostor. V Cloudu pak můžeme hostovat uživatelské účty na stejné SIP doméně, jako používáme v interním prostředí. Zprávy mohou být routovány mezi interními a online uživateli. Dosáhneme toho vytvořením Hosting ProviderProxyFQDN adresou sipfed.online.lync.com.

Vytvoření pomocí Skype for Business Server Management Shell

New-CsHostingProvider -Identity Office365 -ProxyFqdn "sipfed.online.lync.com" -Enabled $true `
 -EnabledSharedAddressSpace $true -HostsOCSUsers $true -VerificationLevel UseSourceVerification `
 -IsLocal $false -AutodiscoverUrl https://webdir.online.lync.com/Autodiscover/AutodiscoverService.svc/root

Pozn.: Nastavujeme VerificationLevel na UseSourceVerification, to znamená, že federovaní uživatelé mohou vidět Presence (dostupnost) a posílat IM, aniž by museli být přidáni do seznamu kontaktů daného uživatele.

Dopředu můžeme zkontrolovat, zda již Hosting Provider pro tuto adresu neexistuje. Pokud ano, tak jej smažeme.

Get-CsHostingProvider | ?{ $_.ProxyFqdn -eq "sipfed.online.lync.com" } 

V praxi jsem narazil i na jiný problém, který zabránil vytvoření Hosting Provider. Adresu sipfed.online.lync.com jsem měl použitu u několika povolených domén ve Federation and External Access - SIP Federated Domains. Ty bylo třeba odstranit.

New-CsHostingProvider : Cannot add the hosting provider "sipfed.online.lync.com" because an allowed domain already exists
 with peer-fqdn set to this server.
At line:1 char:1
+ New-CsHostingProvider -Identity Office365 -ProxyFqdn "sipfed.online.lync.com" -E ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   + CategoryInfo          : InvalidArgument: (Name=Office365;...pClientPort=443:HostingProvider) [New-CsHostingProvider],
   ArgumentException
   + FullyQualifiedErrorId : CustomValidationFailed,Microsoft.Rtc.Management. Internal.NewHostingProviderCmdlet

PS C:\> Get-CsAllowedDomain | ?{ $_.ProxyFqdn -eq "sipfed.online.lync.com" } | FT Identity, ProxyFqdn

Identity                                ProxyFqdn
--------                                ---------
firma2.cz                               sipfed.online.lync.com

Povolení sdílené SIP domény v online organizaci

Po nastavení interního prostředí musíme provést odpovídající nastavení i v Online Tenantu. Většinou by mělo jít pouze o povolení sdíleného SIP adresního prostoru.

Nastavení provedeme pomocí vzdálené PowerShell session se Skype for Business Online.

Set-CsTenantFederationConfiguration -SharedSipAddressSpace $true

Případně můžeme předem zkontrolovat nastavení.

PS C:\> get-CsTenantFederationConfiguration 

Identity                            : Global
AllowedDomains                      : AllowAllKnownDomains
BlockedDomains                      : {}
AllowFederatedUsers                 : True
AllowPublicUsers                    : True
TreatDiscoveredPartnersAsUnverified : False
SharedSipAddressSpace               : False

Skype for Business Server Control Panel

Podle aktuální dokumentace jsou předchozí kroky vše, co je potřeba nastavit. A opravdu, když dostatečně dlouho počkáme, tak očekávané věci začnou fungovat. Mě po nastavení začala fungovat pouze část, v jednom směru jsem viděl Presence, ale v druhém ne. Řešil jsem, co může být špatně, až vše začalo fungovat bez zásahu (nevím, zda to trvalo den nebo dva). Stejně tak, po přesunu uživatele do cloudu, trvá asi den, než vše začne chodit.

Narazil jsem na starší návody, které uvádí, že se má pro hybridní nastavení použít Skype for Business Server Control Panel, kde je na Home záložce link pro nastavení.

Skype for Business Server Control Panel - Home

Ale zde se mi nikdy nepodařilo přihlásit do Office 365. To znamená, že pak nelze použít Control Panel ani k přesunu uživatelů (PowerShell naštěstí funguje). Věnoval jsem tomu nějaký čas, ale marně.

Skype for Business Server Control Panel - přihlášení do Office 365 1
Skype for Business Server Control Panel - přihlášení do Office 365 2

Problém se probírá v řadě diskusí a existují různé články, které se ovšem věnují PowerShellu. Třeba Avoiding Connection Issues with Skype for Business Online PowerShell, Errors Connecting to Skype for Business Online PowerShell Module, Lync administrators can't connect to Skype for Business Online Remote PowerShell in a Lync hybrid environment.

Microsoft v článku Required administrative credentials zmiňuje důležitou věc. Že pro přihlášení do Microsoft 365 / Office 365 ze Skype for Business Server Control Panel nebo Management Shell, je potřeba použít účet s defaultní doménou (Default Domain), tedy například nekdo@firma.onmicrosoft.com. Není možno použít vlastní doménu (Custom Domain) přidanou do Microsoft 365, například nekdo@firma.cz. Podle informací v článcích výše je to proto, že se podle domény v admin účtu hledá URI pro připojení. V hybridní konfiguraci vedou DNS záznamy na interní Skype for Business.

PowerShellu je možno doplnit parametry, které určí doménu u Microsoftu. Pak se připojení povede. Zajímavé je, že z některých počítačů musím řešit připojení s tímto parametrem (cmdlet New-CsOnlineSession), ale někde to funguje i bez toho (možná proto, že tam mám Teams PowerShell module).

Ale z Control Panelu jsem se nepřihlásil nikdy. Hlavní problém bude v tom, že u účtů nefunguje přihlášení jménem s defaultní doménou, ale pouze nastavenou vlastní doménou. Přitom podle popisu u MS má defaultní doména stále zůstat na pozadí pro poštu a další služby. Očekával bych tedy, že přihlášení půjde oběma způsoby. Když jsem nějakému účtu změnil Username, tak pak přihlášení k MS službám fungovalo, ale z Control Panelu stále ne.

zobrazeno: 2052krát | Komentáře [0]

Autor:

Související články:

Azure, Microsoft 365, Office 365, Cloud

Různá populární témata ohledně veřejného cloudu. Více zaměřeno na služby Microsoft, tedy IaaS, PaaS, SaaS Azure, adresářové služby Azure AD a hostované služby Microsoft 365 / Office 365.

Microsoft Lync a Skype for Business

Série článků o komunikační platformě Microsoftu, která tvoří základ Unified Communications. První články jsou o Lync 2010, pokračuje se s Lync 2013 a nyní aktuální je Skype for Business 2015.

Pokud se Vám článek líbil, tak mne potěšíte, když uložíte odkaz na některý server:

Pokud se chcete vyjádřit k tomuto článku, využijte komentáře níže.

Komentáře

Zatím tento záznam nikdo nekomentoval.

Přidat komentář

Vložit tag: strong em link

Vložit smajlík: :-) ;-) :-( :-O

Nápověda:
  • maximální délka komentáře je 2000 znaků
  • HTML tagy nejsou povoleny (budou odstraněny), použít se mohou pouze speciální tagy (jsou uvedeny nad vstupním polem)
  • nový řádek (ENTER) ukončí odstavec a začne nový
  • pokud odpovídáte na jiný komentář, vložte na začátek odstavce (řádku) číslo komentáře v hranatých závorkách