Windows Server ターミナル サービス RemoteApp セッションでアプリケーションが起動しない

この記事では、ターミナル サービス RemoteApp セッションの Explorer.exe ファイルに依存するアプリケーションを実行できない問題の回避策について説明します。

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

現象

次のような状況を想定します。 Windows Server ターミナル サービス RemoteApp (TS RemoteApp) セッションにログオンします。 TS RemoteApp セッションには、スタートアップ アプリケーションと実行レジストリ エントリまたは RunOnce レジストリ エントリが含まれます。 次に、TS RemoteApp セッションでアプリケーションを起動します。 このシナリオでは、アプリケーションは起動しません。

原因

この問題は、Explorer.exe ファイルに依存するアプリケーションを起動しようとすると発生します。 設計上、TS RemoteApp セッションは制限付き機能を実装します。 たとえば、TS RemoteApp セッションでは次の項目は処理されません。

  • [レジストリの実行] エントリ
  • RunOnce レジストリ エントリ
  • スタートアップ アプリケーション

回避策

この問題を回避するには、以下のいずれかの方法を使用します。

方法 1: ユーザーのログオン設定の一部としてスタートアップ アプリケーションを実行する

TS RemoteApp セッションでスタートアップ アプリケーションを実行するには、グループ ポリシーでユーザーのログオン設定の一部としてスタートアップ アプリケーションを指定できます。 グループ ポリシーはこれらの設定を制御するため、指定したスタートアップ アプリケーションは、ユーザーがログオンしたときに想定どおりに実行されます。

ユーザーのログオン設定の一部としてスタートアップ アプリケーションを指定するには、次の手順に従います。

  1. サーバー グループ ポリシー管理コンソール (GPMC) で、[ローカル コンピューター ポリシー] をクリックし、[コンピューターの構成] をクリックし、[管理用テンプレート] をクリックします。

  2. [ システム] をクリックし、[ログオン] をダブルクリックし、[ ユーザー ログオン時にこれらのプログラムを実行する] をダブルクリックします。

  3. [ ユーザー ログオン時にこれらのプログラムを実行するプロパティ ] ダイアログ ボックスで、[ 有効にする] をクリックします。

  4. [ 表示] をクリックし、[ 追加] をクリックします。

  5. スタートアップ アプリケーションの名前を入力します。

    注:

    スタートアップ アプリケーションが %SystemRoot% フォルダーにある場合を除き、ファイルの完全修飾パスを指定する必要があります。

  6. [OK] をクリックします。

方法 2: /AlternateShellStartup スイッチと共に Runonce.exe ファイルを起動する

Runonce.exe ファイルをユーザーのログオン スクリプトに追加すると、Explorer.exe ファイルに依存する一部のアプリケーションが TS RemoteApp セッションで実行されることがあります。 これを行うには、次の手順を実行します。

  1. サーバー GPMC で、[ ローカル コンピューター ポリシー] をクリックし、[ ユーザー構成] をクリックし、[ Windows 設定] をクリックします。

  2. [ スクリプト (ログオン/ログオフ)] をクリックし、[ ログオン] をダブルクリックします。

  3. [追加] をクリックします。

  4. [ スクリプト名 ] ボックスに「runonce.exe」と入力します。

  5. [ スクリプト パラメーター ] ボックスに「/AlternateShellStartup」と入力します。

  6. [OK] を 2 回クリックします。