RD Web Access を使用して RD セッション ホスト サーバーで "RemoteApp" プログラムを表示することはできません

この記事では、RD Web Access を使用して RD セッション ホスト サーバーで "RemoteApp" プログラムを表示できない問題の解決策について説明します。

適用対象: Windows Server 2012 R2
元の KB 番号: 978322

現象

ドメイン ユーザー アカウントを使用してリモート デスクトップ Web アクセス (RD Web Access) にログオンする場合、Windows Server 2008 R2 を実行している RD セッション ホスト サーバー上にある RemoteApp プログラムの一覧を表示することはできません。 ただし、ローカル アカウントは RemoteApp プログラムを表示できます。

さらに、RD Web Access トレースでは、次のようなエラーがログに記録されます。

[エラー]アプリのフィルター処理:フィルター処理を開始中のエラー: SID からコンテキストを初期化できませんでした。 SID: S-1-5-21-1997477047-1508330638-219632125-223304, エラー: 0x80070005

原因

この問題は、 Windows 2000 または Windows Server 2003 オペレーティング システムでのみ互換性のある [アクセス許可] オプションを使用してドメインが作成された場合に発生します。 このオプションを選択すると、組み込みの Everyone グループは "Pre-Windows 2000 互換アクセス" グループのメンバーになりません。 この問題は、後でグループのメンバーシップがドメイン セキュリティ強化手順の一部として Everyone グループを含めなくなった場合にも発生します。

解決方法

この問題を解決するには、RD Web Access マシン アカウントをドメイン コントローラーの Windows 承認アクセス グループに追加します。

詳細

AuthzInitializeContextFromSid 関数は、関数呼び出しで指定された SID の tokenGroupsGlobalAndUniversal 属性を読み取ります。 これは、現在のユーザーのグループ メンバーシップを決定するために行われます。 ユーザーのオブジェクトが Active Directory Domain Services (AD DS) 内にある場合、呼び出し元のコンテキストには、ユーザー オブジェクトの tokenGroupsGlobalAndUniversal 属性への読み取りアクセス権が必要です。 tokenGroupsGlobalAndUniversal 属性への読み取りアクセスは、"Pre-Windows 2000 Server Compatible Access" グループに付与されます。 ただし、新しいドメインには空の "Windows 2000 Server 互換アクセス" グループが含まれています。 既定のセットアップ選択は Windows 2000 Server および Windows Server 2003 と互換性のあるアクセス許可であるため、これは既定です。 そのため、アプリケーションは tokenGroupsGlobalAndUniversal 属性にアクセスできない可能性があります。 この場合、AuthzInitializeContextFromSid 関数は、ACCESS_DENIED エラーと共に失敗します。 この関数を使用するアプリケーションでは、このエラーを正しく処理する必要があり、サポート ドキュメントを提供する必要があります。 ユーザーに関するグループ情報を照会するためのアカウントアクセス許可の付与を簡略化するには、Windows 承認アクセス グループにグループ情報を検索する機能を必要とするアカウントを追加します。