Teams 用の新しい VDI ソリューション
Teams 用の新しい VDI ソリューションは、仮想デスクトップでのマルチメディア ワークロードの配信を最適化するための新しいアーキテクチャです。
Important
一般提供へのロールアウトは 2024 年 8 月 27 日に開始され、Azure Virtual Desktops とWindows 365の今後数日間で 100% のカバレッジに達します。
Citrix のお客様の場合、管理者はパブリック プレビューに参加するために、 この記事で説明するようにユーザーをパブリック プレビュー チャネルに移動する必要があります。
Components
コンポーネント | 役割 | 更新 | 大きさ | メモ |
---|---|---|---|---|
新しい Teams vdiBridge | サーバー側の仮想チャネル モジュール。 | 新しい Teams バージョンごとに新しいバージョン。 | 新しい Teams にバンドルされています。 | |
カスタム仮想チャネル (VC) | Microsoft Teamsが所有するカスタム VC。 | 安定した API - 更新は予測されません。 | Citrix Studio ポリシーの [仮想チャネル許可] の一覧を確認します。 | |
プラグイン | クライアント側 VC dll。 SlimCore のダウンロードとクリーンも担当します。 | 頻度が高くありません (理想的には更新プログラムはありません)。 | 約 200 KB。 | RD クライアント 1.2.5405.0 または Windows App 1.3.252 以降にバンドルされています。 Citrix CWA 2402 以降では、プラグインをフェッチしてインストールできます。 |
SlimCore | メディア エンジン (VDI ベンダー固有ではなく、オペレーティング システム固有)。 | 新しい Teams バージョンごとに新しいバージョンに自動更新されます。 | 約 50 MB。 | Microsoft のパブリック CDN でホストされている MSIX パッケージ |
システム要件
要件 | 最小バージョン |
---|---|
新しい Teams | 24193.1805.3040.8975 (Azure Virtual Desktop/Windows 365の場合) 24165.1410.2974.6689 (Citrix 用) |
Azure Virtual Desktop/Windows 365 | Windows アプリ: 1.3.252 リモート デスクトップ クライアント: 1.2.5405.0 |
Citrix | VDA: 2203 LTSR CU3 または 2305 CR Citrix ワークスペース アプリ: 2203 LTSR (任意の CU)、2402 LTSR、または 2302 CR |
Endpoint | Windows 10 1809 (SlimCore の最小要件) GPO は MSIX のインストールをブロックしないでください (「手順 3: SlimCore MSIX のステージングとエンドポイントでの登録」を参照してください) Minimum CPU: Intel Celeron (またはそれと同等) @ 1.10 GHz、4 コア、最小 RAM: 4 GB |
Teams 用の新しい VDI ソリューションを使用した最適化
手順 1: 前提条件を確認する
- Citrix の新しい Microsoft Teams バージョン 24193.1805.3040.8975 以降 (Azure Virtual Desktop/Windows 365) と 24165.1410.2974.6689 以降があることを確認します。
- 特定のユーザー グループに対して必要に応じて新しい Teams ポリシーを有効にします (既定ではグローバル組織全体レベルで有効になっています)。
- Citrix の場合は、この記事の「Citrix Virtual チャネル許可リスト 」セクションで説明されているように 、仮想チャネル許可リスト を構成する必要があります。
手順 2: エンドポイントへのプラグインのインストール
- Azure Virtual Desktop とWindows 365の場合、MsTeamsPluginAvd.dll は WINDOWS 1.2.5405.0 用 RD クライアント、または Windows App Store アプリ 1.3.252 以降にバンドルされています。
- プラグインは、RD クライアントがインストールされているのと同じフォルダーの場所にあります。 インストールされているモードに応じて、AppData\Local\Apps\Remote Desktop または C:\Program Files (x86) にあります。
- Windows App Store アプリは MSIX ベースであるため、C:\Program Files\WindowsApps にあります。 このフォルダーへのアクセスは制限されています。
- Citrix CWA 2402 以降の場合、MsTeamsPluginCitrix.dll は次のいずれかをインストールできます。
- CWA のインストール時にユーザー インターフェイスを使用する: [アドオン] ページ で 、[ Microsoft Teams VDI プラグインのインストール ] チェック ボックスをオンにし、[ インストール] を選択します。 ポップアップ表示されるユーザー契約に同意し、Citrix Workspace アプリのインストールを続行します。
注意
Citrix Workspace アプリ 2402 では、新規インストール時にプラグインのインストール UI のみが表示されます。 このオプションを一括アップグレードして表示するには、Citrix Workspace アプリ 2405 以降が必要です。
- 次を使用して、マネージド デバイスのコマンド ラインまたはスクリプトを使用します。
C:\>CitrixWorkspaceApp.exe installMSTeamsPlugin
- 管理者は、SCCM (Windows アプリ パッケージの展開の種類を使用) やIntune (基幹業務アプリを使用) などのツールを使用して、サポートされている既存の CWA の上にプラグインを手動でインストールすることもできます (「システム要件」を参照)。 管理者は、このドキュメントで説明されているように、適切なフラグで msiexec を使用できます。
Important
Citrix のお客様向けのプラグイン MSI ダウンロード リンクについては、 こちらを参照してください。
プラグイン MSI は CWA インストール フォルダーを自動的に検出し、その場所に MsTeamsPluginCitrix.dll を配置します。
ユーザーの種類 | インストール フォルダー | インストールの種類 |
---|---|---|
Administrator | 64 ビット: C:\Program Files (x86)\Citrix\ICA Client 32 ビット: C:\Program Files\Citrix\ICA Client |
システムごとのインストール |
- プラグインはダウングレードできません。アップグレードまたは再インストール (修復) のみです。
- CWA のユーザーごとのインストールはサポートされていません。
- エンドポイントで CWA が見つからない場合、インストールは停止します。
手順 3: エンドポイントでの SlimCore MSIX のステージングと登録
プラグインは、ユーザーまたは管理者の介入なしで、この手順をサイレント 実行します。 ステージングと登録は、エンドポイント上の App Readiness Service (ARS) に依存します。 MSIX パッケージのインストールが、グループ ポリシーまたはサード パーティ製ツールによって設定されたレジストリ キーによってブロックされる可能性があります。 該当するレジストリ キーの完全な一覧については、「パッケージ 化されたアプリとグループ ポリシーのしくみ - MSIX」を参照してください。
次のレジストリ キーは、新しいメディア エンジン MSIX パッケージのインストールをブロックする可能性があります。
- BlockNonAdminUserInstall
- AllowAllTrustedApps
- AllowDevelopmentWithoutDevLicense
Important
AllowAllTrustedApps が無効になっている場合、新しいメディア エンジン (MSIX) のインストールは失敗します。 この問題は、Windows 10 月の累積的な更新プログラムのKB5031455で修正されています。
- Windows 10: 2023 年 10 月 26 日 —KB5031445 (OS ビルド 19045.3636)
- Windows 11: 2023 年 10 月 26 日 — KB5031455 (OS ビルド 22621.2506)
このオプションの 10 月の更新プログラムを OS ビルドで使用できない場合は、11 月のセキュリティ更新プログラムにも修正プログラムが含まれます。
これら 3 つのレジストリ キーは、ユーザーのデバイス上の次のいずれかの場所にあります。
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock
- HKLM\SOFTWARE\Policies\Microsoft\Windows\Appx
一部のポリシーでは、管理者が制限付きポリシーを設定しているため、これらのレジストリ キーが変更され、organizationでのアプリのインストールがブロックされる場合があります。 インストールを妨げる可能性がある既知の GPO ポリシーには、次のようなものがあります。
- 管理者以外のユーザーがパッケージ化された Windows アプリをインストールできないようにします。
- すべての信頼されたアプリのインストールを許可する (無効)。
注意
AppLocker または Windows Defender アプリケーションコントロール は、MSIX パッケージのインストールを防ぐこともできます。
Important
ブロック構成またはポリシーがないことを確認するか、ローカル セキュリティ ポリシー -> アプリケーション制御ポリシー -> AppLocker で SlimCore MSIX パッケージの例外を追加します。
エンドポイントが最適化されていることを確認する
すべての最小要件を満たすと、新しい Teams を初めて起動しても、既定では WebRTC 最適化モードになります。
Important
初めての実行エクスペリエンスでは、新しい最適化を取得するために 2 つのアプリの再起動が必要です。
新しいアーキテクチャで最適化した Teams クライアントでチェックするには、上部のバーの省略記号 (3 つのドット ...) に移動し、[設定] > [バージョン情報] を選択します。 Teams とクライアントのバージョンが一覧表示されます。
- AVD SlimCore Media Optimized = SlimCore に基づく新しい最適化。
- AVD Media Optimized = WebRTC に基づくレガシ最適化。
プラグイン (MsTeamsPluginAvd.dll または MsTeamsPluginCitrix.dll) は、最終的にメディア エンジンと MSIX パッケージである SlimCore をダウンロードする役割を担います。 管理者特権や再起動なしでサイレント インストールされます (正確なパスは異なります)。
C:\Program Files\WindowsApps\Microsoft.Teams.SlimCoreVdi.win-x64.2024.15_2024.15.1.5_x64__8wekyb3d8bbwe
リモート デスクトップ クライアントは x64 または x86 SlimCore パッケージをダウンロードし、Citrix CWA は x86 パッケージをダウンロードします。 このフォルダーはロックダウンされているため、ユーザーはアクセスできません。 管理者は ACL を変更することで所有権を取得できますが、このアクションはお勧めしません。 代わりに、PowerShell を使用して、エンドポイント内の MSIX アプリを一覧表示します。
PowerShellCopy
Get-AppxPackage Microsoft.Teams.SlimCore*
この Powershell の実行から返される結果のサンプルは次のとおりです。
Name : Microsoft.Teams.SlimCoreVdi.win-x64.2024.32
Publisher : CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US
Architecture : X64
ResourceId :
Version : 2024.32.1.7
PackageFullName : Microsoft.Teams.SlimCoreVdi.win-x64.2024.32_2024.32.1.7_x64__8wekyb3d8bbwe
InstallLocation : C:\Program
Files\WindowsApps\Microsoft.Teams.SlimCoreVdi.win-x64.2024.32_2024.32.1.7_x64__8wekyb3d8bbwe
IsFramework : False
PackageFamilyName : Microsoft.Teams.SlimCoreVdi.win-x64.2024.32_8wekyb3d8bbwe
PublisherId : 8wekyb3d8bbwe
IsResourcePackage : False
IsBundle : False
IsDevelopmentMode : False
NonRemovable : False
IsPartiallyStaged : False
SignatureKind : Developer
Status : Ok
Important
Microsoft では、互換性のために最大 12 バージョンの SlimCoreVdi を保存します。ユーザーがさまざまな VDI 環境にアクセスする場合 (新しい Teams 自動更新自体が永続的な場合や、新しい Teams 自動更新が無効になっている非永続的環境など)。
最適化されている場合は、Azure Virtual Desktop/W365 または Citrix のエンドポイントで実行されている MsTeamsVdi.exe を確認できます。
下部のウィンドウを有効にして [DLL] タブに切り替えると、プラグインが読み込まれているのも確認できます。 このアクションは、新しい最適化が得られない場合に役立つトラブルシューティング 手順です。
セッションローミングと再接続
新しい Teams では、起動時に WebRTC または SlimCore が読み込まれます。 仮想デスクトップ セッションが切断されている場合 (ログオフされていない場合、Teams は VM で実行されたままです)、新しい Teams は再起動されない限り最適化スタックを切り替えられません。 その結果、ユーザーは、新しい最適化アーキテクチャをサポートしていないさまざまなデバイス (自宅での作業中に BYOD で使用される MAC デバイス、オフィス内の企業が管理するシン クライアントなど) 間をローミングする場合、フォールバック モード (最適化されていない) 状態になる可能性があります。
再接続オプション | 現在の最適化が WebRTC の場合 | 現在の最適化が SlimCore の場合 |
---|---|---|
MsTeamsPlugin を使用せずに エンドポイントから再接続する | 次に、WebRTC クラシック最適化 | その後フォールバック (ローカル SlimCore) |
MsTeamsPlugin を 使用 したエンドポイントからの再接続 | THen WebRTC クラシック最適化 | その後、新しい SlimCore ベースの最適化 |
ネットワークに関する考慮事項
注意
MsTeamsVdi.exe は、Teams リレー/会議サーバーまたはその他のピアへの TCP/UDP ネットワーク接続をすべて行うプロセスです。
SlimCore MSIX マニフェストでは、ファイアウォールに次の規則が追加されます。 <Rule Direction="in" IPProtocol="TCP" Profile="all" />
<Rule Direction="in" IPProtocol="UDP" Profile="all" />
ユーザーのデバイスに、 Microsoft 365 URL と IP アドレス範囲で説明されているエンドポイント ID 11、12、47、127 へのネットワーク接続 (UDP と TCP) があることを確認します。
ID | [カテゴリ] | 人 | アドレス | ポート | メモ |
---|---|---|---|---|---|
11 | 必要に応じて最適化する | Yes | 13.107.64.0/18, 52.112.0.0/14, 52.122.0.0/15, 2603:1063::/38 | UDP: 3478、3479、3480、3481 | メディア プロセッサとトランスポート リレー 3478 (STUN)、347 (オーディオ)、3480 (ビデオ)、3481 (Screenshare) |
12 | 必要な許可 | Yes |
*.lync.com 、 *.teams.microsoft.com 、 teams.microsoft.com 13.107.64.0/18、 52.112.0.0/14、52.122.0.0/15、52.238.119.141/32、52.244.160.207/32、2603:1027::/48、 2603:1037::/48, 2603:1047::/48, 2603:1057::/48, 2 603:1063::/38, 2620:1ec:6::/48, 2620:1ec:40::/42 |
TCP: 443、80 | |
47 | 既定の必須 | いいえ | *.office.net | TCP: 443、80 | SlimCore のダウンロードと背景効果に使用されます |
127 | 既定の必須 | いいえ | *.skype.com | TCP: 443、80 |
ネットワーク アーキテクチャ
図のアーキテクチャのチュートリアル:
- 新しい Teams を開始します。
- Teams クライアントは、Teams サービスに対して認証を行います。 テナント ポリシーは Teams クライアントにプッシュダウンされ、関連する構成がアプリに中継されます。
- Teams は、仮想デスクトップ環境で実行されていることを検出し、内部 vdibridge サービスをインスタンス化します。
- Teams は、サーバー上にセキュリティで保護された仮想チャネルを開きます。
- RDP または HDX プロトコルは、以前に MsTeamsPlugin (クライアント側の仮想チャネル コンポーネント) を読み込んだ RD クライアントまたは Citrix ワークスペース アプリに要求を送信します。
- RD クライアントまたは Citrix ワークスペース アプリは、新しい最適化に使用される新しいメディア エンジン (SlimCore) である MsTeamsVdi.exe という新しいプロセスを生成します。
- SlimCore メディア エンジン (クライアント上) と msteams.exe (仮想デスクトップ上) に双方向チャネルが用意され、マルチメディア要求の処理を開始できるようになりました。
ユーザー呼び出し
- ピア A が呼び出しボタンを選択します。 MsTeamsVdi.exe は、Azure のMicrosoft Teams サービスと通信し、ピア B とエンドツーエンドのシグナリング パスを確立します。MsTeamsVdi.exe では、サポートされている一連の呼び出しパラメーター (コーデック、解決策など、セッション記述プロトコル (SDP) オファー) が収集されます。 これらの呼び出しパラメーターは、Azure のMicrosoft Teams サービスへのシグナリング パスを使用して、そこから他のピアに中継されます。
- SDP オファー/応答 (シングルパス ネゴシエーション) はシグナリング チャネルを介して行われ、ICE 接続チェック (STUN バインド要求を使用した NAT とファイアウォールトラバーサル) が完了します。 次に、Secure Real-Time Transport Protocol (SRTP) メディア は、MsTeamsVdi.exe と他のピア (または Teams トランスポート リレーまたは会議サーバー) の間で直接フローします。
シグナリング、メディア、背景効果、およびその他のオプションの IP ブロックについては、 この記事で説明します。
エンドポイントで SlimCore によって処理されるトラフィックの種類
- Teams メディア フロー接続は、STUN と TURN の手順に標準 IETF 対話型接続確立 (ICE) を使用して実装されます。
- リアルタイムのメディア。 オーディオ、ビデオ、および画面共有のワークロードをサポートする RTP (リアルタイム転送プロトコル) 内にカプセル化されたデータ。 一般に、メディア トラフィックは非常に待機時間の影響を受けやすいです。 このトラフィックは、可能な限り最も直接的なパスを使用し、UDP と TCP をトランスポート層プロトコルとして使用する必要があります。これは、品質の観点から対話型リアルタイム メディアに最適なトランスポートです。
- 最後の手段として、メディアは TCP/IP を使用でき、HTTP プロトコル内でもトンネリングできますが、品質への影響が悪いため推奨されません。
- RTP フローは、ペイロードのみが暗号化される SRTP を使用してセキュリティで保護されます。
- シグナリング。 アクティビティの制御に使用されるエンドポイントと Teams サーバー、またはその他のクライアント間の通信リンク (呼び出しが開始されたときなど)。 ほとんどのシグナリング トラフィックでは、HTTPS へのフォールバックで UDP 3478 が使用されますが、一部のシナリオ (たとえば、Microsoft 365 とセッション ボーダー コントローラー間の接続) では SIP プロトコルが使用されます。 このトラフィックは遅延に対してあまり敏感ではありませんが、エンドポイント間に数秒を超える遅延があった場合、サービス停止や通話のタイムアウトが発生する可能性がある点にご注意ください。
帯域幅の消費
Teams は、ネットワークの状態に関係なく、最高のオーディオ、ビデオ、およびコンテンツ共有エクスペリエンスを提供するように設計されています。 帯域幅が不足している場合、Teams はビデオ品質よりもオーディオ品質を優先します。 帯域幅が制限されない場合、Teams では、ビデオとコンテンツの高忠実度オーディオ、最大 1080p ビデオ解像度、最大 30 fps (1 秒あたりのフレーム数) など、メディア品質が最適化されます。 詳細については、「帯域幅の要件」を参照してください
サービスの品質 (QoS)
エンドポイントとネットワーク デバイスの QoS 設定を実装し、通話と会議のメディア トラフィックを処理する方法を決定します。
前提条件として、Teams 管理 センターで QoS をグローバルに有効にします。 リアルタイム メディア トラフィック設定のサービス品質 (QoS) マーカーの挿入を有効にする方法の詳細については、「Teams 管理センターでの QoS の構成」を参照してください。
推奨される初期ポート範囲:
メディア トラフィックの種類 クライアントの送信元ポート範囲 プロトコル DSCP 値 DSCP クラス オーディオ 50,000 - 50,019 TCP/UDP 46 完全優先転送 (EF) ビデオ 50,020 - 50,039 TCP/UDP 34 相対的優先転送 (AF41) アプリまたは画面の共有 50,040 = 50,059 TCP/UDP 18 相対的優先転送 (AF41) Windows エンドポイントの DSCP マーキングの構成については、「 Teams クライアントで QoS を実装する」を参照してください。
注意
エンドポイント ベースのマーキングは、ユーザーのデバイス上のすべてのマルチメディア オフロードを処理するプロセスである MsTeamsVdi.exe に適用する必要があります。 QoS の詳細については、 プレイブックのドキュメント を参照してください。
ルーターの QoS の実装については、製造元のドキュメントを参照してください。
ネットワーク デバイスでの QoS の設定には、次の一部またはすべてを含めることができます。
- ポート ベースのAccess Control Lists (ACL) を使用する
- QoS キューの定義
- DSCP マーキングの定義
Important
これらの QoS ポリシーは、エンドポイント の送信元ポートと"any" の送信元と宛先の IP アドレスを使用して実装することをお勧めします。 これにより、内部ネットワーク上の受信と送信の両方のメディア トラフィックがキャッチされます。
VDI でのMicrosoft Teamsでは推奨されないテクノロジ
- VPN ネットワーク。 メディア トラフィックにはお勧めしません。
- パケット シェーパー。 あらゆる種類のパケット スニファ、パケット検査、プロキシ、またはパケット シェーパー デバイスは、Teams メディア トラフィックには推奨されず、品質が大幅に低下する可能性があります。
最適化のための PowerShell ポリシーのMicrosoft Teams
CsTeamsVdiPolicy コマンドレットを使用すると、管理者は、VDI パートナーのポリシー エンジン (Citrix Studio、VMware HTML5 ADMX テンプレート、または AVD と Windows 365 のこのレジストリ キー) を使用して WebRTC の最適化が無効になった VDI 環境で、ユーザーが作成できる会議の種類や、会議中にアクセスできる機能を制御できるようになりました。
既定のポリシー構成は次のとおりです。
- DisableCallsAndMeetings: False
- DisableAudioVideoInCallsAndMeetings: False
このポリシーは、ユーザーが SlimCore に基づく新しい最適化モードを取得できるかどうかを制御するための唯一の構成ポイントとして、追加の引数を使用して拡張されるようになりました (つまり、VDI パートナーのポリシー エンジンは新しい最適化モードを制御しません)。
- VDI2 最適化: 有効 (既定値)
名前 | 定義 | 例 | メモ |
---|---|---|---|
New-CsTeamsVdiPolicy | 管理者は、VDI 環境での会議に関連する Teams 機能を制御するためにユーザーに割り当てることができる新しい VDI ポリシーを定義できます。 | PS C:\> New-CsTeamsVdiPolicy -Identity RestrictedUserPolicy -VDI2Optimization "Disabled" |
ここに示すコマンドは、New-CsTeamsVdiPolicy コマンドレットを使用して、ID RestrictedUserPolicy を使用して新しい VDI ポリシーを作成します。 このポリシーでは、VDI2Optimization 以外のすべての既定値が VDI ポリシーに使用されます。 この例では、このポリシーを持つユーザーを SlimCore で最適化することはできません。 |
Grant-CsTeamsVdiPolicy | 管理者は、ユーザーごとのスコープで Teams VDI ポリシーを割り当てて、ユーザーが作成できる会議の種類、最適化されていない VDI 環境でアクセスできる機能、および SlimCore に基づく新しい最適化モードでユーザーを最適化できるかどうかを制御できます。 | PS C:\> Grant-CsTeamsVdiPolicy -identity "Ken Myer" -PolicyName RestrictedUserPolicy |
この例では、ID "Ken Myer" を持つユーザーに RestrictedUserPolicy が割り当てられます。 |
Set-CsTeamsVdiPolicy | 管理者が既存の VDI ポリシーを更新できるようにします。 | PS C:\> Set-CsTeamsVdiPolicy -Identity RestrictedUserPolicy -VDI2Optimization "Disabled" |
ここに示すコマンドでは、Set-CsTeamsVdiPolicy コマンドレットを使用して、Identity RestrictedUserPolicy を使用して既存の VDI ポリシーを更新します。 このポリシーでは、VDI2Optimization 以外のすべての既存の値が使用されます。この例では、このポリシーを持つユーザーを SlimCore で最適化することはできません。 |
Remove-CsTeamsVdiPolicy | 管理者は、以前に作成した Teams VDI ポリシーを削除できます。 明示的に割り当てられていないポリシーを持つユーザーは、organizationの既定のポリシーにフォールバックします。 | PS C:\> Remove-CsTeamsMeetingPolicy -Identity RestrictedUserPolicy |
上記の例では、コマンドは、organizationのポリシーの一覧から制限付きユーザー ポリシーを削除し、ポリシーが割り当てられているユーザーからこのポリシーのすべての割り当てを削除します。 |
Get-CsTeamsVdiPolicy | 管理者は、organizationで構成されているすべての VDI ポリシーに関する情報を取得できます。 | PS C:\> Get-CsTeamsVdiPolicy -Identity SalesPolicy |
この例では、Get-CsTeamsVdiPolicy を使用して、Identity SalesPolicy を持つユーザーごとの会議ポリシーを返します。 ID は一意であるため、このコマンドは複数の項目を返しません。 |
新しい最適化を含む機能一覧
機能 | 連絡可能 |
---|---|
1080p | Yes |
エンドポイントでのハードウェア アクセラレーション | Yes |
ギャラリー ビュー 3x3 および 7x7 | Yes |
サービスの品質 | Yes |
ノイズ抑制 | Yes |
HID | Yes |
発表者モード | Yes |
Teams Premium | はい (保留中: 透かし, タウンホール, 背景を飾る) |
ユーザーがアップロードした背景効果 | 近日対応予定 |
ズーム +/- | 近日対応予定 |
エンドポイント上の SlimCore ユーザー プロファイル
VDI の新しいソリューションでは、ベンダーに応じて、エンドポイント上のユーザー固有のデータが次の場所に格納されます。
C:\users\<user>\AppData\Local\Microsoft\TeamsVDI\avd-default-<cloudname>\
C:\users\<user>\AppData\Local\Microsoft\TeamsVDI\citrix-default-<cloudname>\
Important
ロックダウンされたシン クライアントでは、これらの場所を読み取り/書き込み可能にする必要があります。そうしないと、新しい最適化が失敗する可能性があります。 古い Windows 10 1809 シン クライアント (Dell Wyse 5070 など) の場合、SlimCore プロファイルのフォルダーの場所がC:\Users\<user>\AppData\Local\Packages\Microsoft.Teams.SlimCoreVdi.win-<architecture>.<version>_8wekyb3d8bbwe\LocalCache\
されます。
ログ、構成、AI または ML モデル (ノイズ抑制、帯域幅推定などに使用) は、この場所に保存されます。 ユーザーがサインアウトした後にこれらのフォルダーが消去された場合 (たとえば、ローミング プロファイルのないロックダウンされたシン クライアント)、MsTeamsVdi.exe はそれらを再作成し、ユーザー固有の構成 (約 6 MB のデータ) をダウンロードします。
ロックダウンされたシン クライアント環境での SlimCore のインストールとアップグレード プロセス (省略可能)
既定では、MsTeamsPlugin は、ユーザーまたは管理の介入なしに、適切な SlimCore メディア エンジン バージョンを自動的にダウンロードしてインストールします。 ただし、ブランチ オフィスの制限付きネットワーク環境のお客様は、エンドポイントが Microsoft のパブリック CDN から https を使用して SlimCore パッケージをフェッチできるようにする必要なく、代替の SlimCore 配布プロセスを選択できます。
Important
この方法を選択する必要がある場合は、次の点を保証する必要があります。
- Teams の自動更新は、 仮想デスクトップで無効になっています。
- SlimCore パッケージは、仮想デスクトップで新しい Teams をアップグレードする前に、エンドポイントのローカル ストレージまたはネットワーク共有に事前にプロビジョニングされます。 新しい Teams バージョンでは、一致する新しいバージョンの SlimCore が要求され、プラグインが見つからない場合、ユーザーはフォールバック モード (サーバー側レンダリング) になります。
これは、新しい Teams と SlimCore のバージョンが一致する必要があるためです。
構成手順
- ユーザーのエンドポイント (シン クライアント/fat クライアント) で、次の regkey を作成する必要があります。
- Citrix の場所: HKLM\SOFTWARE\WOW6432Node\Microsoft\Teams\MsTeamsPlugin
- Azure Virtual Desktop/W365 の場所: HKLM\SOFTWARE\Microsoft\Teams\MsTeamsPlugin
- 名前: MsixUrlBase
- 型: REG_SZ
- データ: ローカル ストレージまたはネットワーク ストレージ UNC パス (file://C:/Temp や file://ComputerName/SharedFolder など)。 regkey はベース URL を定義します。
- さらに、管理者は、今後展開する予定の新しい Teams バージョンと一致する正確な SlimCore MSIX パッケージ バージョンを Microsoft の CDN からダウンロードする必要があります。
Important
MSIX パッケージは、Citrix ワークスペース アプリ (x86 のみ) またはリモート デスクトップまたは Windows アプリ クライアントのアーキテクチャまたはビット数 ( Microsoft.Teams.SlimCoreVdi.<platform>-<architecture>.msix
) と一致する必要があります。
- MSIX を、レジストリ キーで指定された場所内のバージョンを持つ特定のフォルダーに配置して、構造を保持します。 たとえば、C:\Temp\2024.4.1.9\Microsoft.Teams.SlimCoreVdi.win-x86.msix または //ComputerName/SharedFolder/2024.4.1.9/ などです。
注意
プラグインがローカル ストレージまたはネットワーク ストレージに SlimCore MSIX パッケージを見つけることができない場合、フォールバックとして Microsoft パブリック CDN からダウンロードが自動的に試行されます。
既知の問題
- 現時点では、Azure RemoteApps と Citrix 公開アプリはサポートされていません。
- ユーザーが同じローカル コンピューターから仮想デスクトップを起動し、Teams にログインした場合、HID 周辺機器が接続されているローカル コンピューターで実行されている Teams の通話ドロップ。
- 新しい Teams を起動した直後に会議に参加しようとすると (たとえば、新しい Teams を実行せずに Outlook で Teams ディープ リンクを選択するなど)、通話がドロップする可能性があります。
- 現時点では、カメラのセルフ プレビューはサポートされていません ([設定/デバイス] の下、またはカメラ アイコンの下矢印を選択するときの通話中)。
Citrix 仮想チャネルの許可リスト
CVAD の 仮想チャネル許可リスト ポリシー設定を使用すると、ICA セッションで開くことができる仮想チャネルを指定する許可リストを使用できます。 有効にした場合、Citrix 組み込み仮想チャネルを除くすべてのプロセスを明記する必要があります。 その結果、新しい Teams クライアントがクライアント側プラグイン (MsTeamsPluginCitrix.dll) に接続するには、より多くのエントリが必要になります。
Citrix Virtual Apps および Desktops 2203 以降では、仮想チャネル許可リストは 既定で有効になっています。 これらの既定の設定では、許可リストに新しい Teams メイン プロセス名が含まれていないので、新しい Teams カスタム仮想チャネルへのアクセスが拒否されます。
新しい Teams クライアントが機能するには、MSTEAMS、MSTEAM1、MSTEAM2の 3 つのカスタム仮想チャネルが必要です。 これらのチャネルには、ms-teams.exe によってアクセスされます。 ワイルドカードを使用して、ms-teams.exe 実行可能ファイルとカスタム仮想チャネルを許可できます。
- MSTEAMS,C:\Program Files\WindowsApps\MSTeams*8wekyb3d8bbwe\ms-teams.exe
- MSTEAM1,C:\Program Files\WindowsApps\MSTeams*8wekyb3d8bbwe\ms-teams.exe
- MSTEAM2,C:\Program Files\WindowsApps\MSTeams*8wekyb3d8bbwe\ms-teams.exe
- ワイルドカードのサポートは、次の中で使用できます。
- VDA 2206 CR。
- CU2 以降の VDA 2203 LTSR。
- ポリシーを有効にするには、VDA マシンを再起動する必要があります。
Citrix App Protection とMicrosoft Teams互換性
App Protection が有効になっているユーザーは、新しい最適化を使用しながら、画面とアプリを共有できます。 共有には、VDA バージョン 2402 以降と Windows 2309.1 以降の CWA が必要です。 下位バージョンのユーザーは、App Protection モジュールがインストールされて有効になると、代わりに黒い画面が共有されます。
トラブルシューティング
SlimCore では最適化されず、代わりに表示されます:
"Azure Virtual Desktop Media Optimized"
"Citrix HDX Optimized"- エラー コード 2000 ("プラグインなし") と 2001 ("Virtual Channel not available") が最も可能性の高い原因です。
- MSTEAMS、MSTEAM1、MSTEAM2を許可するように "Virtual Channel Allow list" が適切に構成されていることを確認します。
- エンドポイントにプラグインがあることを確認し、プロセス エクスプローラーを使用して VDI クライアントによって読み込まれていることを確認します。
- プロセス エクスプローラーを実行します。
- 下部のウィンドウを有効にし、[DLL] タブに切り替えます。
- Azure Virtual Desktop で、msrdc.exe プロセスを探し、MsTeamsPluginAvd.dll が読み込まれたことを確認します。
- Citrix で、wfica32.exe プロセスを探し、MsTeamsPluginCitrix.dll が読み込まれたことを確認します。
- 新しい Teams アプリを再起動します。 プラグインが初めて検出されたときに、WebRTC から SlimCore に移行するには、2 回の再起動が必要です。
- 問題が解決しない場合は、VDI 関連のエラー (新しい Teams 24123.X.X.X 以降) をMicrosoft Teamsするために VM にチェック イベント ビューアーします。
SlimCore では最適化されておらず、代わりに "Azure Virtual Desktop SlimCore Media Not Connected" または "Citrix SlimCore Media Not Connected" が表示されます。
- 「SlimCoreVdi MSIX 展開エラーのトラブルシューティング」セクションを確認してください。 MSIX または AppX 関連のエラーが、このエラーの最も可能性の高い理由です。
VDI の新しい Teams ログ
Teams ログは、VM での Teams の実行中に Ctrl + Alt + Shift + 1 を選択することで収集できます。 このアクションにより、ダウンロード フォルダーに ZIP フォルダーが生成されます。 PROD-WebLogs-*.zip ファイル内で、Core フォルダーを探します。
Vdi_debug.txt は、VDI関連情報のメインファイルです
Azure Virtual Desktop/W365 | Citrix |
---|---|
"vdiConnectedState": {"connectedStack": "remote"}, "vdiVersionInfo": {"bridgeVersion": "2024.18.1.11", "remoteSlimcoreVersion": "2024.18.01.11", "nodeId": "1051a908af6b160e", "clientOsVersion": "10.0.22631", "rdClientVersion": "1.2.5405.0", "rdClientProductName": "Microsoft® Remote Desktop", "pluginVersion": "2024.14.01.1", "screenShareFallback": true} | "vdiConnectedState": {"connectedStack": "remote"}, "vdiVersionInfo": {"bridgeVersion": "2024.18.1.14", "remoteSlimcoreVersion": "2024.18.01.14", "nodeId": "ffffff93ee6a", "clientOsVersion": "10.0.22631", "rdClientVersion": "24.3.0.64", "rdClientProductName": "Citrix Workspace", "pluginVersion": "2024.15.01.3", "screenShareFallback": true} |
-
vdiConnectedState は、現在アクティブな呼び出し履歴を表示します。
- connectedStack: リモート は、Teams が仮想チャネルを介してリモート エンドポイントに正常に接続されたことを示します。 呼び出し元スタックが正常に初期化されるとは限らないため、ユーザーは呼び出しを開始できないなど、呼び出し関連のエラーが発生する可能性があります。
- connectedStack: ローカル は、仮想チャネル接続が失敗したことを示します。 ユーザーがフォールバック モードになりました。
-
vdiVersionInfo は、Teams クライアントとエンドポイントに役立つ情報を提供します。
- bridgeVersion は、VM で実行されている Teams デスクトップ クライアントのバージョンに関連付けられています。
- remoteSlimcroreVersion は、エンドポイントで使用できる SlimCore VDI のバージョンです。
- nodeId は、エンドポイントに関連付けられている一意の ID です。
- clientOsVersion は、エンドポイントの OS バージョンです。
- rdClientVersion は、エンドポイントで実行されているリモート デスクトップ クライアントのバージョンであり、VM への接続に使用されます。
- rdClientProductName は、エンドポイントで実行されているリモート デスクトップ クライアントの名前です。
- pluginVersion は、リモート デスクトップ クライアントに統合されているプラグインのバージョンです。
Diagnostics-logs.txt weblogs\user(..) 上にある可能性があります。
VDI 接続関連の問題をさらに調査するために、キーワード (keyword) vdiBRidgeEventsHandler を使用すると、新しい最適化スタックとの正常な接続の次の例に示すように、vdiBridge 接続と切断イベント処理のログが提供されます。
7432 2024-03-01T17:51:22.032Z Inf vdiBridgeEventsHandler: VDI Mode: slimcore - onConnected: end, currentStack=remote 7435 2024-03-01T17:51:22.032Z Inf vdiBridgeEventsHandler: VDI Mode: slimcore - new calling stack type set: currentStack=remote 7436 2024-03-01T17:51:22.032Z Inf vdiBridgeEventsHandler: VDI Mode: slimcore - deviceManagerService reloaded 7445 2024-03-01T17:51:22.031Z Inf vdiBridgeEventsHandler: VDI Mode: slimcore - calling stack reinit complete with nextStack=remote 7464 2024-03-01T17:51:21.785Z Inf vdiBridgeEventsHandler: VDI Mode: slimcore - starting calling stack reinit with nextStack=remote 7465 2024-03-01T17:51:21.785Z Inf vdiBridgeEventsHandler: VDI Mode: slimcore - SlimCore replacement complete, remote is now available 7467 2024-03-01T17:51:21.783Z Inf vdiBridgeEventsHandler: VDI Mode: slimcore - setVDIOptimizationModeOverride: from SlimCore to SlimCore 7468 2024-03-01T17:51:21.782Z Inf vdiBridgeEventsHandler: VDI Mode: slimcore - onConnected: isVersionMismatch=false, forceVersion=undefined, bridgeVersion=2024.5.1.11 7469 2024-03-01T17:51:21.782Z Inf vdiBridgeEventsHandler: VDI Mode: slimcore - cached local SlimCore for future (fallback), currentStack=local 7470 2024-03-01T17:51:21.782Z Inf vdiBridgeEventsHandler: VDI Mode: slimcore - onConnected: start, vendorType=1, remoteSlimcoreVersion=2024.05.01.11, platform=win-x86, loadErrc=1, deployErrc=24002, nodeId=ffffffffbd7d5e77 7471 2024-03-01T17:51:21.782Z Inf vdiBridgeEventsHandler: VDI Mode: slimcore - enqueueBridgeCallback: adding onConnected to queue, 0 bridge callbacks in queue, isBridgeCallbacksQueueProcessing=false
接続エラー
接続エラーが発生した場合は、"loadErrc" と "deployErrc" を含むログ行からエラー コードを確認できます。 デプロイ エラー (install_error とも呼ばれます) は、プラグインが Microsoft の CDN から SlimCore MSIX パッケージをダウンロードして、App Readiness Service for AppX を使用してエンドポイントにステージングまたはプロビジョニングしようとしたときに発生するエラーです。 読み込みエラーは、プラグインが MsTeamsVdi.exe を開始してリモート プロシージャ コール (RPC) を確立しようとしたときに発生するエラーです。
ここでログに記録されるコードは、次の表を使用してマップする必要があります。
loadErrc | deployErrc | 定義 | メモ |
---|---|---|---|
0 | 0 | わかりました | "ConnectedNoPlugin" テレメトリ メッセージの特別なコード。 |
5 | 43 | ERROR_ACCESS_DENIED | MsTeamsVdi.exe プロセスは起動時に失敗しました。 BlockNonAdminUserInstall が有効になっている可能性があります。 または、ユーザーのログオン後にエンドポイントが複数の MSIX パッケージの登録にビジー状態になり、SlimCoreVdi の登録が完了しなかった可能性があります。 |
404 | 3235 | HTTP_STATUS_NOT_FOUND | 発行の問題: CDN に SlimCore MSIX パッケージが見つかりません。 |
1260 | 10083 | ERROR_ACCESS_DISABLED_BY_POLICY | このエラーは通常、Windows パッケージ マネージャー SlimCore MSIX パッケージをインストールできないことを意味します。 イベント ビューアーは、16 進エラー コードの0x800704ECを表示できます。 AppLocker ポリシーによってこのエラー コードが発生する可能性があります。 AppLocker を無効にするか、ローカル セキュリティ ポリシー -> アプリケーション制御ポリシー -> AppLocker で SlimCoreVdi パッケージの例外を追加できます。 [Teams 用の新しい VDI ソリューションを使用した最適化] の [手順 3] を確認します。 |
1460 | 11683 | ERROR_TIMEOUT | MsTeamsVdi.exe プロセスは起動時に失敗しました (60 秒のタイムアウト)。 |
1722 | RPC_S_SERVER_UNAVAILABLE | 'RPC サーバーが使用できません' MsTeamsVdi.exe 関連するエラーです。 | |
2000 | 16002 | プラグインなし | エンドポイントに MsTeamsPlugin がない場合、またはエンドポイントに MsTeamsPlugin がない場合は読み込まれません (プロセス エクスプローラーでチェック)。 |
2001 | 仮想チャネルが使用できない | Citrix VDA WFAPI でエラーが発生しました。 | |
3000 | 24002 | SlimCore デプロイは必要ありません | このコードは実際にはエラーではありません。 ユーザーが SlimCore を使用して新しい最適化アーキテクチャを使用していることを示す良い指標です。 |
3001 | 24010 | SlimCore は既に読み込まれています | このコードは実際にはエラーではありません。 ユーザーが SlimCore を使用して新しい最適化アーキテクチャを使用していることを示す良い指標です。 |
3004 | 24035 | プラグインに応答しない | RDP または ICA セッションを再起動してみてください。 |
3005 | 24043 | ダウンロード中のプラグインのタイムアウト | 2 分以内に MSIX をダウンロードできない。 |
3007 | 24058 | 読み込みタイムアウト | SlimCore のダウンロードまたはインストールがタイムアウトしました (インターネットまたは App Readiness Service がビジー状態です)。 |
4000 | ERROR_WINS_INTERNAL | WINS でコマンドの処理中にエラーが発生しました。 | |
15615 | 1951 | ERROR_INSTALL_POLICY_FAILURE | SlimCore MSIX 関連のエラー。 このアプリをインストールするには、Windows 開発者ライセンス、またはサイドローディングが有効なシステムが必要です。 AllowAllTrustedApps regkey が 0 に設定されている可能性があります。 |
15616 | ERROR_PACKAGE_UPDATING | SlimCore MSIX 関連のエラー "現在更新中のため、アプリケーションを起動できません" というエラーが発生しました。 | |
15700 | APPMODEL_ERROR_NO_PACKAGE | このプロセスにはパッケージ ID がありません。 %LOCALAPPDATA%\Microsoft\WindowsApps には MsTeamsVdi のエイリアスはありません。 エラーの再現中にフィードバック Hub ログが必要です (カテゴリとして [開発者プラットフォーム] を選択し、サブカテゴリとして [アプリのデプロイ] を選択してください) | |
16389 | パッケージ マネージャーによって報告されたE_FAIL | 通常、読み込みエラー コード 5 (ERROR_ACCESS_DENIED) と同じです。 ユーザーが管理でない場合は、BlockNonAdminUserInstall ポリシーが原因で発生する可能性が最も高くなります。詳細については、このリンクを参照してください。 |
トラブルシューティングのために VM でイベント ビューアーを使用する
接続/切断イベントはすべて、仮想マシンで実行されているイベント ビューアーに記録されます。 イベント ビューアーでは、クライアント側関連のエラーを表示することもできます。 ソース (Microsoft Teams VDI) とイベント ID (0) でフィルター処理します。 エラー コードは、「 VDI 用の新しい Teams ログ 」セクションにあります。
注意
ソースでフィルター処理できるようにするには、管理者特権の PowerShell ウィンドウから次のコマンドを実行する必要があります。
PS C:\Windows\system32> New-EventLog -LogName アプリケーション -Source "Microsoft Teams VDI"
プラグインのデプロイ エラーのトラブルシューティング
診断情報は、ユーザーのデバイスの詳細なイベント ログにあります。 インストール後、MsTeamsPluginCitrix.dll は CWA フォルダーに書き込まれます。 Citrix プラットフォームの場合のみ、エンドポイント (VM ではなく) に次のキーが作成されます。
キー | キーの種類 | キー名 | キー値 |
---|---|---|---|
HKLM\SOFTWARE\WOW6432Node\Citrix\ICA Client\Engine\Configuration\Advanced\Modules\ICA 3.0 | 文字列 | VirtualDriverEx | MicrosoftTeamsVDI |
HKLM\SOFTWARE\WOW6432Node\Citrix\ICAClient\Engine\Configuration\Advanced\Modules\MicrosoftTeamsVDI | 文字列 | DriverNameWin32 | MsTeamsPluginCitrix.dll |
インストールをデバッグするには、インストーラーのログ記録を有効にできますが、msiexec を手動で使用し、正しいフラグを渡す必要があります。 たとえば、プラグインが現在インストールされていない場合は、/i MsTeamsPluginCitrix.msi /l*vx installer.log.txt msiexec.exe など、ログを使用してインストールできます。
SlimCoreVdi MSIX の展開エラーのトラブルシューティング
特定の GPO が MSIX のインストールを妨げる可能性があるため、 エンドポイントでの SlimCore MSIX のステージングと登録に関 するセクションを確認してください。
診断情報は、ユーザーのデバイスの詳細なイベント ログにあります。
- Microsoft > Windows >アプリケーションとサービス ログ>イベント ビューアー (ローカル) に移動します。
- 次のカテゴリで使用可能なログを確認します。
- AppxPackagingOM > Microsoft-Windows-AppxPackaging/Operational
- AppXDeployment-Server > Microsoft-Windows-AppXDeploymentServer/Operational
- [AppXDeployment-Server] の下のログを確認します。
エラー 15615
エラー 15615 は通常、Windows パッケージ マネージャーが SlimCoreVdi で MSIX パッケージをインストールできないことを意味します。
- その MSIX のデジタル署名がエンドポイントによって信頼されていることを確認します ([MSIX > プロパティ] > [デジタル署名] > 詳細に移動します)。 これは有効なストアフレンドリな Microsoft 署名ですが、お客様は特別な構成を行っている可能性があります。
- AllowAllTrustedApps ポリシーを有効にしてみてください。
- 信頼された非ストア ソースからのアプリのサイドローディングを許可してみてください。
- Windows 10では、この設定は既定で有効になっています。無効になっている場合は、ここで変更します。[設定] > [更新とセキュリティ] > 開発者向け>サイドロード アプリです。
- Windows 11では、この設定は既定で有効になっています。 [アプリの設定] > [アプリの詳細設定] > [アプリの詳細設定] > [任意の場所>アプリを取得する場所を選択します。
ログ収集
ログ記録は、次の場所にあります。
- クライアントで次の手順を実行します。
AppData\Roaming\Microsoft\TeamsVDI\<vdi_vendor>-default-<cloudname>\skylib
AppData\Roaming\Microsoft\TeamsVDI\<vdi_vendor>-default-<cloudname>\media-stack
- サーバー上:
AppData\Local\Packages\MSTeams_8wekyb3d8bbwe\LocalCache\Microsoft\MSTeams\Logs\skylib